JavaRush /ื‘ืœื•ื’ Java /Random-HE /ื”ืคืกืงืช ืงืคื” ืžืก' 21. ืฉื™ืœื•ื‘ ืฉืœ Python ืขื Java. ื”ื™ื›ืจื•ืช ืขื ื’'ืงืจ...

ื”ืคืกืงืช ืงืคื” ืžืก' 21. ืฉื™ืœื•ื‘ ืฉืœ Python ืขื Java. ื”ื™ื›ืจื•ืช ืขื ื’'ืงืจื˜ื” EE ื•-Eclipse MicroProfile

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”

ืื™ื ื˜ื’ืจืฆื™ื” ืฉืœ Python ืขื Java? ืœืžื” ืœื!

ืžืงื•ืจ: Jaxenter ื”ืคืกืงืช ืงืคื” ืžืก' 21.  ืฉื™ืœื•ื‘ ืฉืœ Python ืขื Java.  ื”ื™ื›ืจื•ืช ืขื ื’'ืงืจื˜ื” EE ื•-Eclipse MicroProfile - 1 ืœืžืขืฉื”, ืฉื™ืœื•ื‘ ืฉืœ ืชื›ื ื•ืช ืžืขืจื›ื•ืช ื•ืฉืคื•ืช ืกืงืจื™ืคื˜ื™ื ืื™ื ื• ืžื•ืฉื’ ื—ื“ืฉ ื•ืžื•ื–ืจ: ื”ื•ื ืคืฉื•ื˜ ื‘ืฉื™ืžื•ืฉ ื ื“ื™ืจ. ืขื‘ื•ืจ ืฉืคื•ืช ืชื›ื ื•ืช ืฉื™ืฉ ืœื”ืŸ ืžืžืฉืง ื™ื™ืฉื•ื ื‘ื™ื ืืจื™ ืžืฉื•ืชืฃ, ื ื™ืชืŸ ื‘ื”ื—ืœื˜ ืœืฉืœื‘ ืื•ืชืŸ ืœืกืคืจื™ื™ื” ืื—ืช ืื• ืœืงื•ื‘ืฅ ื”ืคืขืœื”. ืืžื ื ื–ื” ืžืงืฉื” ืงืฆืช ื™ื•ืชืจ, ืื‘ืœ ื™ืฉ ื›ืœื™ื ืฉื™ื›ื•ืœื™ื ืœืขื–ื•ืจ. Python ื•-Java ืœืžืขืฉื” ืžืฉืœื™ืžื™ื ื–ื” ืืช ื–ื”. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืื—ืช ืžื”ืŸ ืขื‘ื•ืจ ืžืฉื™ืžื•ืช ืžืฉื ื” ื˜ื™ืคื•ืกื™ื•ืช, ื•ื”ืฉื ื™ื™ื” ื›ืฉืคืช ืกืงืจื™ืคื˜ื™ื ื›ื“ื™ ืœื”ืจื—ื™ื‘ ืืช ื”ื”ื’ื“ืจื•ืช ืฉืœ ื”ื™ื™ืฉื•ื ืฉืœืš. ื‘ืžื•ื ื—ื™ื ืฉืœ ืฉื™ืœื•ื‘ ืฉืคื•ืช ืื—ืจื•ืช, JavaScript, ืœืžืฉืœ, ืื™ื ื• ืžืฉืžืฉ ื‘ื“ืจืš ื›ืœืœ ืžื—ื•ืฅ ืœื“ืคื“ืคื ื™ ืื™ื ื˜ืจื ื˜, ืœืคื—ื•ืช ื‘ื”ืฉื•ื•ืื” ืœืฉืคื•ืช ืกืงืจื™ืคื˜ื™ื ืื—ืจื•ืช ื›ืžื• Perl, Tcl, Visual Basic ื•-Python. ืขื ื–ืืช, ื›ืœ ื”ืฉืคื•ืช ื”ืœืœื• ืžืฉื•ืœื‘ื•ืช ื‘ื“ืจืš ื›ืœืœ ืขื ืฉืคื•ืช ืื—ืจื•ืช. ืคื™ื™ืชื•ืŸ ืฉื•ืœื‘ื” ื‘ืื•ืคืŸ ืžืกื•ืจืชื™ ืขื C ื•-C++, ื‘ืขื•ื“ ืฉ-Visual Basic ื”ื™ื ืœืจื•ื‘ ืฉืคืช ื”ืกืงืจื™ืคื˜ ื”ืžื•ืขื“ืคืช ืขื‘ื•ืจ C++ ื‘ืคืœื˜ืคื•ืจืžืช Windows. ื•-Perl, ื›ืžื• Tcl, ื ืžืฆื ื‘ืฉื™ืžื•ืฉ ื ืคื•ืฅ ื‘-C/Unix. ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-Python ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ ื‘-Windows ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืžืฉืชืœื‘ ื‘ืงืœื•ืช ืขื ืืจื›ื™ื˜ืงื˜ื•ืจืช Microsoft Scripting Host ื›ืžื• ื’ื COM. ื‘ื ื•ืกืฃ, ื–ื” ื ื”ื“ืจ ื’ื ืขื‘ื•ืจ ื›ืœื™ macOS.

ืœืžื” Java ื•-Python?

Python ื”ื™ื ืฉืคืช ืกืงืจื™ืคื˜ ืžื•ื ื—ื” ืขืฆืžื™ื, ืžื” ืฉื”ื•ืคืš ืื•ืชื” ืœื”ืชืืžื” ื˜ื•ื‘ื” ืœ-Java. ื‘ืฉื™ืœื•ื‘ ืขื ืžืชื•ืจื’ืžืŸ Python ื”ื›ืชื•ื‘ ื›ื•ืœื• ื‘-Java, ื›ืžื• Jython, ื ื™ืชืŸ ืœื›ืชื•ื‘ ื™ื™ืฉื•ืžื•ื ื™ื ืฉืœืžื™ื ื‘-Python, ืืฉืจ ืœืื—ืจ ืžื›ืŸ ื™ื›ื•ืœื™ื ืœืคืขื•ืœ ื‘ื›ืœ ื“ืคื“ืคืŸ ืชื•ืื JDK, ืขื ื‘ื™ืฆื•ืข ืงื•ื“ ื‘ืžื”ื™ืจื•ืช ื›ืžืขื˜ ื›ืžื• C/CPython. ืžืชื•ืจื’ืžืŸ Jython ืžืชืจื’ื ืืช ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ Python ื™ืฉื™ืจื•ืช ืœืงื•ื“ ื‘ื™ื™ื˜ ืฉืœ Java, ื•ืžืขื ื™ืง ืœื• ืžื”ื™ืจื•ืช ืžื“ื”ื™ืžื”. ืื‘ืœ ืคืชืจื•ื ื•ืช Java scripting ืื—ืจื™ื (Java/TCL, Java/Perl ื•ื›ื•') ืžืฆืžื™ื“ื™ื ืืช ื”-JVM ืœืžื™ืžื•ืฉ C ื‘ืฉืคื•ืช ืืœื•, ืžื” ืฉืœื ืจืง ื™ื•ืฆืจ ื‘ืขื™ื™ืช ื ื™ื™ื“ื•ืช, ืืœื ืฉื”ืคืชืจื•ื ื•ืช ื”ืœืœื• ืขืฆืžื ืื™ื ื ืงืœื™ื ื›ืคื™ ืฉื”ื™ื™ื ื• ืจื•ืฆื™ื.

ืžื”ื™ ื”ื“ืจืš ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืœื”ืฉืชืžืฉ ื‘-Java ื•-JPython ื‘ื™ื—ื“?

ื™ืฉื ื ืžืกืคืจ ื›ืœื™ื ืžื•ื›ื—ื™ื ื”ืžื™ื™ืฉืžื™ื ืืช Python ื‘-Java ืื• ืœื”ื™ืคืš, ื›ืš ืฉืชื•ื›ืœ ืœื”ืจื™ืฅ ืคืงื•ื“ื•ืช ืžืฉืคื” ืื—ืช ื‘ืฉืคื” ืื—ืจืช. ืœื”ืœืŸ ืจืฉื™ืžื” ืงืฆืจื” ืฉืœ ื›ืžื” ืžื”ื›ืœื™ื ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ ืœืฉื™ืœื•ื‘ Python ืขื Java:
  • Jython ื”ื•ื Python ืžื™ื•ืฉื ื‘ื’'ืื•ื•ื”.
  • JPype - ืžืืคืฉืจ ืœืš ืœื”ืคืขื™ืœ ืคืงื•ื“ื•ืช Java ื‘ืืžืฆืขื•ืช Python.
  • Jepp - Java ืžื•ื‘ื ื™ืช ื‘ืคื™ื™ืชื•ืŸ.
  • JCC ื”ื•ื ืžื—ื•ืœืœ ืงื•ื“ C++ ืœืงืจื™ืื” ืœ-Java ืž-C++/Python.
  • Javabridge ื”ื™ื ื—ื‘ื™ืœื” ืœื”ืคืขืœื” ื•ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”-JVM ืž-CPython.
  • Py4j - ืžืืคืฉืจ ืœืš ืœื”ืจื™ืฅ ืคืงื•ื“ื•ืช Java ื‘-Python.
  • Voc ื”ื•ื ืžืจื›ื™ื‘ ืฉืœ ื”ื›ืœื™ BeeWare . ืžืžื™ืจ ืงื•ื“ Python ืœ-Java bytecode.
  • p2j - ืžืžื™ืจ ืงื•ื“ Python ืœ-Java. ื›ื‘ืจ ืœื ื‘ืคื™ืชื•ื—.
ื™ืฉื ืŸ ืžืกืคืจ ื’ื™ืฉื•ืช ืœืฉื™ืžื•ืฉ ื‘ื›ืœื™ื ืืœื•. ืœื›ืœ ืื—ื“ ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ืžืฉืœื•. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื›ืชื•ื‘ ืื‘ ื˜ื™ืคื•ืก ืฉืœ ืืคืœื™ืงืฆื™ื” ืฉืœืžื” ื‘-Jython, ื•ืœืื—ืจ ืžืกืคืจ ืกื‘ื‘ื™ื ืฉืœ ื‘ื“ื™ืงื•ืช ื•ืขื™ืฆื•ื‘ ืžื—ื“ืฉ, ืœื›ืชื•ื‘ ื”ื›ืœ ืžื—ื“ืฉ ื‘-Java. ื–ื” ืžืืคืฉืจ ืœืš ืœื ืฆืœ ืืช ื”ื’ืžื™ืฉื•ืช ื•ื”ืžื”ื™ืจื•ืช ื”ืžื•ื’ื‘ืจื•ืช ืฉืœ ืคื™ืชื•ื— ืฉืคื•ืช ืกืงืจื™ืคื˜ื™ื ื‘ืฉืœื‘ ืžื•ืงื“ื ืฉืœ ื”ืคืจื•ื™ืงื˜ ืฉืœืš. ืขื ื–ืืช, ื”ืžื•ืฆืจ ื”ืกื•ืคื™ ืฉืœืš ื™ืฆื˜ืจืš ืœื”ื™ื•ืช ืงืฆืช ื™ื•ืชืจ ืžืคื•ืจื˜ ืžืืฉืจ ืื ืจืง ื”ืชื—ืœืช ืœื›ืชื•ื‘ ื‘-Java ื‘ืœื‘ื“. ื•ืื ืืชื” ืžื•ื“ืื’ ืœื’ื‘ื™ ืกืคืจื™ื•ืช ืžืžืฉืง ืžืฉืชืžืฉ, Jython ื™ื›ื•ืœ ืœื”ืชื—ื‘ืจ ืœืื•ืชื UILs ื›ืžื• Java ืจื’ื™ืœ, ื›ืš ืฉื”ืžืจืช Java ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืงืœื”. ืขื ื–ืืช, ื”ื“ื‘ืจื™ื ืื™ื ื ื›ื” ืคืฉื•ื˜ื™ื ืื ืืชื” ืžื ืกื” ืœื‘ื ื•ืช ืคืจื•ื™ืงื˜ ื’ื“ื•ืœ. ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชื™ืชืงืœ ื‘ื—ืกืจื•ืŸ ืฉืœ ืจื›ื™ื‘ื™ื ื•ืฉื›ื‘ื•ืช ืฉื•ื ื™ื ื‘ืขืœื™ ืžื—ื–ื•ืจื™ ืคื™ืชื•ื— ืขืฆืžืื™ื™ื, ื›ื’ื•ืŸ ืจื›ื™ื‘ื™ื ื‘ืจืžื” ื”ืขืœื™ื•ื ื”. ื›ืžื•ื‘ืŸ, ืืชื” ื™ื›ื•ืœ ืœืฉื›ืชื‘ ืจื›ื™ื‘ื™ื ื‘ื•ื“ื“ื™ื ื‘-Java ื›ื›ืœ ืฉืืชื” ืžืชืงืจื‘ ืœืžื”ื“ื•ืจื” ื™ืฆื™ื‘ื”, ืื• ืคืฉื•ื˜ ืœื›ืชื•ื‘ ื—ืœืง ืžื”ืจื›ื™ื‘ื™ื ืฉืœืš ื‘ืื•ืคืŸ ื‘ืœืขื“ื™ ื‘-Java ืžื”ื”ืชื—ืœื”. ืืคืฉืจื•ืช ื ื•ืกืคืช ื”ื™ื ืœืฉื›ืชื‘ ืจืง ืืช ื”ืจื›ื™ื‘ื™ื ืฉืขื‘ื•ืจื ื”ื‘ื™ืฆื•ืขื™ื ื—ืฉื•ื‘ื™ื. ื›ืš ืชื•ื›ืœื• ืœื”ืฉืื™ืจ ืืช ื”ืจื›ื™ื‘ื™ื ื‘ืจืžื” ื”ื’ื‘ื•ื”ื” ื‘-Jython, ืžื” ืฉืื•ืžืจ ืฉืืชื ืฆืจื™ื›ื™ื ืจืง ืœืฉื›ืชื‘ ืืช ื”ืจื›ื™ื‘ื™ื ื‘ืจืžื” ื”ื ืžื•ื›ื” ื™ื•ืชืจ, ื•ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ืœื ืชืฆื˜ืจื›ื• ืœืฉื›ืชื‘ ืฉื•ื ื“ื‘ืจ ื‘ื›ืœืœ.

ื”ื™ื›ืจื•ืช ืขื Jakarta EE ื•-Eclipse MicroProfile

ืžืงื•ืจ: DZone ืขื“ื™ื™ืŸ ืœื ืฉืžืขืชื ืขืœ Jakarta EE ื•-Eclipse MicroProfile? ืื–, ื”ื’ื™ืข ื”ื–ืžืŸ ืœื”ื›ื™ืจ ืืช ื”ืื•ืคืŸ ืฉื‘ื• ืชืงืŸ Java Enterprise ื”ืชืคืชื—. ืฉืชื™ ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืœืœื• ื‘ื˜ื•ื— ื™ื”ื™ื• ืฉื™ืžื•ืฉื™ื•ืช ืขื‘ื•ืจืš ื‘ืขืชื™ื“, ืžื›ื™ื•ื•ืŸ ืฉื”ืŸ ืžืขื•ืœื•ืช ืœื‘ื ื™ื™ืช ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื ืžืงื•ืจื™ื™ื ื‘ืขื ืŸ ื•ืžื•ื“ืจื ื™ื™ื.

ืžื” ื–ื” ื’'ืงืจื˜ื” EE?

Jakarta EE ื”ื•ื ืกื˜ ืžืคืจื˜ื™ื (JAX-RS, CDI, JPA, JSON-P ื•ื›ื•') ืœื›ืชื™ื‘ืช ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื ื‘-Java. ืžืคืจื˜ื™ื ืืœื• ื”ื ืžืกืžื›ื™ื ื”ืžื’ื“ื™ืจื™ื ืืช ื”-API ื•ื›ื™ืฆื“ ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืžืงื™ื™ืžืช ืื™ื ื˜ืจืืงืฆื™ื”. ื”ืคืกืงืช ืงืคื” ืžืก' 21.  ืฉื™ืœื•ื‘ ืฉืœ Python ืขื Java.  ื”ื™ื›ืจื•ืช ืขื ื’'ืงืจื˜ื” EE ื•-Eclipse MicroProfile - 2ืžืกืžื›ื™ ืžืคืจื˜ ื”ื ื›ืžื• ืžืžืฉืงื™ื ืขื ื”ื’ื“ืจื•ืช ืคื•ืจืžืœื™ื•ืช, ื•ื”ื™ื™ืฉื•ื ื‘ืคื•ืขืœ ืฉืœ ืžืžืฉืงื™ื ืืœื” ืชืœื•ื™ ื‘ืกืคืง ืฉืจืช ื”ื™ื™ืฉื•ืžื™ื (ืœืžืฉืœ WildFly, Open Liberty, Payara, TomEE). ื›ื“ื™ ืœืžื ื•ืข ืžืกืคืง ืœื™ื™ืฉื ืžืคืจื˜ ืฉื’ื•ื™, ื›ืœ ืžืคืจื˜ ืžืกืคืง ืขืจื›ืช ืชืื™ืžื•ืช ื˜ื›ื ื•ืœื•ื’ื™ืช (CTS). ื–ื•ื”ื™ ืงื‘ื•ืฆื” ืฉืœ ื‘ื“ื™ืงื•ืช ืœืื™ืžื•ืช ืชืื™ืžื•ืช ืฉืœ ื™ื™ืฉื•ื ืฉืœ ืžืคืจื˜ ืžืกื•ื™ื. ื‘ืจื’ืข ืฉืฉืจืช ื”ื™ื™ืฉื•ืžื™ื ืžืฉื“ืจ ืืช ื”-CST ืขื‘ื•ืจ ื›ืœ ื”ืžืคืจื˜ื™ื, ื”ื•ื ืขื•ืžื“ ื‘ืชืงืŸ ื›ื•ืœื•. ื‘ืžืฉืš ืฉื ื™ื ืจื‘ื•ืช, Java EE ื”ื™ื™ืชื” ื”ื“ืจืš ื”ืกื˜ื ื“ืจื˜ื™ืช ืœื›ืชื™ื‘ืช ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื. Java EE (ืฉื ืงืจืื” ื‘ืขื‘ืจ J2EE) ื ืชืžื›ืช ืขืœ ื™ื“ื™ ืื•ืจืงืœ ื‘ืžืฉืš ื–ืžืŸ ืจื‘. ื‘-2017, ืื•ืจืงืœ ื”ื—ืœื™ื˜ื” ืœื ืœืคืชื— ืขื•ื“ ืืช ื”ืชืงืŸ ื”ืืจื’ื•ื ื™ ื‘ื—ืกื•ืชื” ื•ื”ืขื‘ื™ืจื” ืื•ืชื• ืœืงืจืŸ Eclipse. ืžืกื™ื‘ื•ืช ืžืฉืคื˜ื™ื•ืช, ื”ื ื ืืœืฆื• ืœืžืชื’ ืžื—ื“ืฉ ื•ื”ื—ืœื™ื˜ื• ืœืงืจื•ื ืœืžื•ืฆืจ Jakarta EE. ืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื ืืช ื›ืœ ืžืคืจื˜ื™ Jakarta EE ื‘ืืชืจ ื”ืจืฉืžื™ , ื•ืชื•ื›ืœ ืœืงื‘ืœ ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ืื•ืคืŸ ื”ืคืขื•ืœื” ืฉืœ ืชื”ืœื™ืš ื”ืžืคืจื˜ ื›ืจื’ืข ื‘ืืชืจ Eclipse Foundation.

ืžื”ื• Eclipse MicroProfile?

ืžื›ื™ื•ื•ืŸ ืฉืชื”ืœื™ืš ื”ื”ืคืฆื” ื•ื”ื”ืชืืžืช ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ืขื‘ื•ืจ Java EE ื”ื™ื” ืื™ื˜ื™ ืœืžื“ื™, ืงื‘ื•ืฆื” ืฉืœ ืกืคืงื™ื ื•ื—ื‘ืจื™ ืงื”ื™ืœื” ื”ื—ืœื™ื˜ื” ืœื™ืฆื•ืจ MicroProfile ื‘-2016. ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœ ื”ืคืจื•ื™ืงื˜ ื”ื–ื” ื”ื™ื™ืชื” ืœืขื–ื•ืจ ืœืžืคืชื—ื™ื ืœื”ืชืขื“ื›ืŸ ื‘ื–ืžื ื™ื ื•ื’ื ืœื™ื™ืขืœ ืืช ื”ืคืœื˜ืคื•ืจืžื” ื”ืงื™ื™ืžืช ืœืืจื›ื™ื˜ืงื˜ื•ืจืช ืฉื™ืจื•ืชื™ ืžื™ืงืจื•. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, Eclipse MicroProfile ืžื›ื™ืœ ืฉื ื™ื ืขืฉืจ ืžืคืจื˜ื™ื. ืืจื‘ืขื” ืžื”ื ื”ื ื’ื ื—ืœืง ืžื’'ืงืจื˜ื” EE. ื–ื” ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ื™ื™ืฉื•ืžื™ื ืขืฆืžืื™ื™ื ืืš ื•ืจืง ืขื MicroProfile. ื›ืœ ื”ืžืคืจื˜ื™ื ืื™ื ื ืชืœื•ื™ื™ื ื‘ืกืคืง ื•ื”ื™ื™ืฉื•ื ืžื’ื™ืข ืขื ืฉืจืช ื”ื™ื™ืฉื•ืžื™ื. ืžืคืจื˜ื™ Jakarta EE ื™ื›ื•ืœื™ื ืœื”ื™ื—ืฉื‘ ื›ื‘ืกื™ืก ืื™ืชืŸ ืœื‘ื ื™ื™ืช ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื. ื‘ื ื•ืกืฃ ืœื›ืš, Eclipse MicroProfile ืžืžืœื ืคืขืจ ื‘ื‘ื ื™ื™ืช ืžืขืจื›ื•ืช ืžื‘ื•ื–ืจื•ืช ืฉื›ืŸ ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืคื•ืขืœืช ืœืคื™ ืžืชื•ื“ื•ืœื•ื’ื™ื™ืช ื”ื™ื™ืฉื•ื ืฉืœ Twelve Factor .
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION