JavaRush /Java Blog /Random-TL /Coffee break #21. Pagsasama ng Python sa Java. Pagkilala ...

Coffee break #21. Pagsasama ng Python sa Java. Pagkilala sa Jakarta EE at Eclipse MicroProfile

Nai-publish sa grupo

Pagsasama ng Python sa Java? Bakit hindi!

Pinagmulan: Jaxenter Coffee break #21.  Pagsasama ng Python sa Java.  Pagkilala sa Jakarta EE at Eclipse MicroProfile - 1 Sa totoo lang, ang pagsasama-sama ng mga system programming at scripting na mga wika ay hindi isang kakaibang bagong konsepto: bihira lang itong gamitin. Para sa mga programming language na may karaniwang interface ng binary application, ganap na posible na pagsamahin ang mga ito sa isang library o executable. Bagama't ginagawa nitong mas mahirap ang mga bagay, may mga tool na makakatulong. Ang Python at Java ay talagang umakma sa isa't isa. Halimbawa, maaari mong gamitin ang isa sa mga ito para sa karaniwang mga subtask, at ang isa pa bilang isang scripting language upang palawigin ang mga setting ng iyong application. Pagdating sa pagsasama ng iba pang mga wika, ang JavaScript, halimbawa, ay hindi karaniwang ginagamit sa labas ng mga web browser, hindi bababa sa kumpara sa iba pang mga wika ng scripting gaya ng Perl, Tcl, Visual Basic, at Python. Gayunpaman, ang lahat ng mga wikang ito ay karaniwang pinagsama sa iba pang mga wika. Ang Python ay tradisyonal na pinagsama sa C at C++, habang ang Visual Basic ay kadalasang ang scripting language na pinili para sa C++ sa Windows platform. At ang Perl, tulad ng Tcl, ay karaniwang ginagamit sa C/Unix. Ang Python ay mas madalas na ginagamit sa Windows dahil madali itong sumasama sa arkitektura ng Microsoft Scripting Host pati na rin ang COM. Dagdag pa, ito ay mahusay din para sa mga tool ng macOS.

Bakit Java at Python?

Ang Python ay isang object-oriented scripting language, na ginagawa itong isang magandang tugma para sa Java. Kasama ng isang Python interpreter na ganap na nakasulat sa Java, tulad ng Jython, maaari mong isulat ang buong applet sa Python, na maaaring tumakbo sa anumang browser na tugma sa JDK, na may code execution halos kasing bilis ng C/CPython. Ang Jython interpreter ay nagsasalin ng Python source code nang direkta sa Java bytecode, na nagbibigay dito ng hindi kapani-paniwalang bilis. Ngunit ang iba pang mga solusyon sa Java scripting (Java/TCL, Java/Perl, atbp.) ay nakakabit sa JVM sa pagpapatupad ng C sa mga wikang ito, na hindi lamang lumilikha ng problema sa portability, ngunit ang mga solusyon na ito mismo ay hindi kasingdali ng gusto natin.

Ano ang pinakamahusay na paraan upang magamit ang Java at JPython nang magkasama?

Mayroong ilang mga napatunayang tool na nagpapatupad ng Python sa Java o vice versa, kaya maaari kang magpatakbo ng mga command mula sa isang wika sa isa pa. Narito ang isang maikling listahan ng ilan sa mga pinakamahusay na tool para sa pagsasama ng Python sa Java:
  • Ang Jython ay Python na ipinatupad sa Java.
  • JPype - Binibigyang-daan kang magpatakbo ng mga utos ng Java gamit ang Python.
  • Jepp - Java na binuo sa Python.
  • Ang JCC ay isang C++ code generator para sa pagtawag sa Java mula sa C++/Python.
  • Ang Javabridge ay isang pakete para sa pagpapatakbo at pakikipag-ugnayan sa JVM mula sa CPython.
  • Py4j - Binibigyang-daan kang magpatakbo ng mga utos ng Java sa Python.
  • Ang Voc ay isang elemento ng BeeWare tool . Kino-convert ang Python code sa Java bytecode.
  • p2j - Kino-convert ang Python code sa Java. Wala na sa development.
Mayroong ilang mga diskarte sa paggamit ng mga tool na ito. Ang bawat isa ay may sariling mga pakinabang at disadvantages. Halimbawa, maaari mong prototype ang isang buong application sa Jython, at pagkatapos ng ilang round ng pagsubok at muling pagdidisenyo, muling isulat ang lahat sa Java. Nagbibigay-daan ito sa iyo na samantalahin ang tumaas na flexibility at bilis ng pagbuo ng mga scripting language nang maaga sa iyong proyekto. Gayunpaman, ang iyong huling produkto ay kailangang maging mas detalyado ng kaunti kaysa kung nagsimula ka lang magsulat sa Java lamang. At kung nag-aalala ka tungkol sa mga library ng UI, maaaring kumonekta si Jython sa parehong mga UIL gaya ng regular na Java, kaya madali lang ang pag-convert ng Java. Gayunpaman, ang mga bagay ay hindi gaanong simple kung sinusubukan mong bumuo ng isang malaking proyekto. Malamang na makaranas ka ng kawalan ng iba't ibang bahagi at layer na mayroong mga independiyenteng yugto ng pag-unlad, gaya ng mga bahagi sa nangungunang antas. Siyempre, maaari mong muling isulat ang mga indibidwal na bahagi sa Java habang papalapit ka sa isang matatag na paglabas, o isulat lamang ang ilan sa iyong mga bahagi nang eksklusibo sa Java mula sa simula. Ang isa pang pagpipilian ay muling isulat ang mga bahagi lamang kung saan mahalaga ang pagganap. Sa ganitong paraan, maaari mong iwanan ang mga high-level na bahagi sa Jython, na nangangahulugang kailangan mo lamang na muling isulat ang mas mababang antas ng mga bahagi, at sa ilang mga kaso hindi mo na kailangang muling isulat ang anumang bagay.

Ipinapakilala ang Jakarta EE at Eclipse MicroProfile

Source: DZone Hindi pa ba naririnig ang Jakarta EE at Eclipse MicroProfile? Kaya, oras na upang maging pamilyar sa kung paano binuo ang pamantayan ng Java Enterprise. Pareho sa mga teknolohiyang ito ay siguradong magiging kapaki-pakinabang sa iyo sa hinaharap, dahil ang mga ito ay mahusay para sa pagbuo ng cloud-native at modernong enterprise application.

Ano ang Jakarta EE?

Ang Jakarta EE ay isang hanay ng mga detalye (JAX-RS, CDI, JPA, JSON-P, atbp.) para sa pagsusulat ng mga enterprise application sa Java. Ang mga detalyeng ito ay mga dokumentong tumutukoy sa API at kung paano nakikipag-ugnayan ang teknolohiya. Coffee break #21.  Pagsasama ng Python sa Java.  Pagkilala sa Jakarta EE at Eclipse MicroProfile - 2Ang mga dokumento ng detalye ay tulad ng mga interface na may mga pormal na kahulugan, at ang aktwal na pagpapatupad ng mga interface na ito ay nakasalalay sa vendor ng application server (hal. WildFly, Open Liberty, Payara, TomEE). Upang maiwasan ang isang vendor na ipatupad ang isang detalye nang hindi tama, ang bawat detalye ay nagbibigay ng isang Technology Compatibility Kit (CTS). Ito ay isang hanay ng mga pagsubok upang i-verify ang pagsunod sa isang pagpapatupad ng isang partikular na detalye. Kapag naipadala na ng server ng application ang CST para sa lahat ng mga pagtutukoy, sumusunod ito sa buong pamantayan. Sa loob ng maraming taon, ang Java EE ay ang karaniwang paraan ng pagsulat ng mga aplikasyon ng enterprise. Ang Java EE (dating tinatawag na J2EE) ay suportado ng Oracle sa mahabang panahon. Noong 2017, nagpasya ang Oracle na hindi na bumuo ng corporate standard sa ilalim ng auspices nito at inilipat ito sa Eclipse Foundation. Para sa mga legal na dahilan, kinailangan nilang mag-rebrand at nagpasyang tawagan ang produkto na Jakarta EE. Makikita mo ang lahat ng detalye ng Jakarta EE sa opisyal na website , at makakakuha ka ng higit pang impormasyon tungkol sa kung paano kasalukuyang gumagana ang proseso ng pagtutukoy sa website ng Eclipse Foundation.

Ano ang Eclipse MicroProfile?

Dahil medyo mabagal ang proseso ng pag-release at pag-adapt ng mga bagong feature para sa Java EE, nagpasya ang isang grupo ng mga vendor at miyembro ng komunidad na gumawa ng MicroProfile noong 2016. Ang pangunahing layunin ng proyektong ito ay tulungan ang mga developer na makasabay sa mga oras at gayundin upang i-optimize ang umiiral na platform para sa arkitektura ng microservices. Sa kasalukuyan, naglalaman ang Eclipse MicroProfile ng labindalawang detalye. Apat sa kanila ay bahagi din ng Jakarta EE. Binibigyang-daan ka nitong lumikha ng mga standalone na application na eksklusibo gamit ang MicroProfile. Ang lahat ng mga pagtutukoy ay independiyenteng vendor at ang pagpapatupad ay kasama ng server ng application. Ang mga detalye ng Jakarta EE ay maaaring ituring na isang matatag na pundasyon para sa pagbuo ng mga aplikasyon ng enterprise. Bilang karagdagan dito, pinupunan ng Eclipse MicroProfile ang isang puwang sa pagbuo ng mga distributed system habang sinusunod ng teknolohiya ang pamamaraan ng aplikasyon ng Twelve-Factor .
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION