JavaRush /Java blogi /Random-UZ /Kofe tanaffusi №21. Python-ni Java bilan integratsiyalash...

Kofe tanaffusi №21. Python-ni Java bilan integratsiyalash. Jakarta EE va Eclipse MicroProfile bilan tanishish

Guruhda nashr etilgan

Java bilan Python integratsiyasi? Nega yo'q!

Manba: Jaxenter Kofe tanaffusi №21.  Python-ni Java bilan integratsiyalash.  Jakarta EE va Eclipse MicroProfile bilan tanishish - 1 Aslida, tizimli dasturlash va skript tillarini birlashtirish g'alati yangi tushuncha emas: u juda kam qo'llaniladi. Umumiy ikkilik dastur interfeysiga ega bo'lgan dasturlash tillari uchun ularni bitta kutubxona yoki bajariladigan faylga birlashtirish butunlay mumkin. Bu ishlarni biroz qiyinlashtirsa-da, yordam beradigan vositalar mavjud. Python va Java aslida bir-birini to'ldiradi. Misol uchun, ulardan birini odatiy pastki vazifalar uchun, ikkinchisini esa ilovangiz sozlamalarini kengaytirish uchun skript tili sifatida ishlatishingiz mumkin. Boshqa tillarni integratsiya qilish haqida gap ketganda, masalan, JavaScript odatda veb-brauzerlardan tashqarida ishlatilmaydi, hech bo'lmaganda Perl, Tcl, Visual Basic va Python kabi boshqa skript tillari bilan solishtirganda. Biroq, bu tillarning barchasi odatda boshqa tillar bilan birlashtiriladi. Python an'anaviy ravishda C va C++ tillari bilan birlashtirilgan, Visual Basic esa ko'pincha Windows platformasida C++ uchun tanlangan skript tili hisoblanadi. Va Tcl kabi Perl odatda C/Unix da qo'llaniladi. Python Windows-da biroz tez-tez ishlatiladi, chunki u Microsoft Scripting Host arxitekturasi va COM bilan osongina birlashadi. Bundan tashqari, u macOS vositalari uchun ham juda yaxshi.

Nima uchun Java va Python?

Python ob'ektga yo'naltirilgan skript tili bo'lib, uni Java uchun yaxshi moslashtiradi. Jython kabi toʻliq Java-da yozilgan Python tarjimoni bilan birgalikda Python-da toʻliq appletlarni yozishingiz mumkin, keyinchalik ular JDK-mos keluvchi har qanday brauzerda ishlaydi va kodni deyarli C/CPython kabi tez bajaradi. Jython tarjimoni Python manba kodini to'g'ridan-to'g'ri Java baytekodiga tarjima qilib, unga ajoyib tezlikni beradi. Ammo boshqa Java skript yechimlari (Java/TCL, Java/Perl va boshqalar) JVM-ni ushbu tillardagi C ilovasiga biriktiradi, bu nafaqat portativlik muammosini keltirib chiqaradi, balki bu yechimlarning o'zi ham biz xohlaganchalik oson emas.

Java va JPython dan birgalikda foydalanishning eng yaxshi usuli qanday?

Python-ni Java-da yoki aksincha amalga oshiradigan bir qator tasdiqlangan vositalar mavjud, shuning uchun siz buyruqlarni bir tildan boshqa tilda ishlatishingiz mumkin. Mana Python-ni Java bilan integratsiyalash uchun eng yaxshi vositalarning qisqa ro'yxati:
  • Jython - bu Java-da amalga oshirilgan Python.
  • JPype - Python yordamida Java buyruqlarini ishga tushirish imkonini beradi.
  • Jepp - Python-ga o'rnatilgan Java.
  • JCC - bu C++/Python-dan Java-ga qo'ng'iroq qilish uchun C++ kod ishlab chiqaruvchisi.
  • Javabridge - bu CPython'dan JVM bilan ishlash va o'zaro ishlash uchun paket.
  • Py4j - Pythonda Java buyruqlarini ishga tushirish imkonini beradi.
  • Voc - BeeWare vositasining elementi . Python kodini Java bayt kodiga o'zgartiradi.
  • p2j - Python kodini Java-ga o'zgartiradi. Endi rivojlanishda emas.
Ushbu vositalardan foydalanishning bir necha yondashuvlari mavjud. Har birining o'ziga xos afzalliklari va kamchiliklari bor. Misol uchun, siz Jython-da butun dasturni prototipini yaratishingiz mumkin va bir necha tur sinov va qayta loyihalashdan so'ng Java-da hamma narsani qayta yozishingiz mumkin. Bu sizning loyihangizning boshida skript tillarini ishlab chiqishning yuqori moslashuvchanligi va tezligidan foydalanish imkonini beradi. Biroq, sizning yakuniy mahsulotingiz faqat Java-da yozishni boshlaganingizdan ko'ra biroz batafsilroq bo'lishi kerak. Agar siz UI kutubxonalari haqida qayg‘urayotgan bo‘lsangiz, Jython oddiy Java bilan bir xil UIL-larga ulanishi mumkin, shuning uchun Java-ni o‘zgartirish juda oson bo‘lishi kerak. Biroq, agar siz katta loyihani qurmoqchi bo'lsangiz, hamma narsa oddiy emas. Yuqori darajadagi komponentlar kabi mustaqil rivojlanish davrlariga ega bo'lgan turli komponentlar va qatlamlarning kamchiliklariga duch kelishingiz mumkin. Albatta, barqaror versiyaga yaqinlashganingizdan so'ng Java-da alohida komponentlarni qayta yozishingiz yoki ba'zi komponentlaringizni boshidan faqat Java-da yozishingiz mumkin. Yana bir variant - faqat ishlashi muhim bo'lgan komponentlarni qayta yozish. Shu tarzda siz Jython-da yuqori darajadagi komponentlarni qoldirishingiz mumkin, ya'ni siz faqat quyi darajadagi komponentlarni qayta yozishingiz kerak, va ba'zi hollarda siz umuman hech narsani qayta yozishingiz shart emas.

Jakarta EE va Eclipse MicroProfile bilan tanishtirish

Manba: DZone Jakarta EE va Eclipse MicroProfile haqida hali eshitmaganmisiz? Shunday qilib, Java Enterprise standarti qanday rivojlangani bilan tanishish vaqti keldi. Bu ikkala texnologiya kelajakda siz uchun foydali bo'lishi aniq, chunki ular bulutli mahalliy va zamonaviy korporativ ilovalarni yaratish uchun juda yaxshi.

Jakarta EE nima?

Jakarta EE - bu Java-da korporativ ilovalarni yozish uchun texnik xususiyatlar to'plami (JAX-RS, CDI, JPA, JSON-P va boshqalar). Ushbu spetsifikatsiyalar API va texnologiyaning o'zaro ta'sirini belgilaydigan hujjatlardir. Kofe tanaffusi №21.  Python-ni Java bilan integratsiyalash.  Jakarta EE va Eclipse MicroProfile bilan tanishish - 2Spetsifikatsiya hujjatlari rasmiy ta'riflarga ega interfeyslarga o'xshaydi va bu interfeyslarning amalda bajarilishi dastur serveri sotuvchisiga bog'liq (masalan, WildFly, Open Liberty, Payara, TomEE). Sotuvchining spetsifikatsiyani noto'g'ri amalga oshirishiga yo'l qo'ymaslik uchun har bir spetsifikatsiya Texnologiyalar muvofiqligi to'plamini (CTS) taqdim etadi. Bu ma'lum bir spetsifikatsiyani amalga oshirishning muvofiqligini tekshirish uchun testlar to'plami. Ilova serveri barcha spetsifikatsiyalar uchun CSTni uzatgandan so'ng, u butun standartga mos keladi. Ko'p yillar davomida Java EE korporativ ilovalarni yozishning standart usuli bo'lib kelgan. Java EE (ilgari J2EE deb ataladi) uzoq vaqt davomida Oracle tomonidan qo'llab-quvvatlanadi. 2017 yilda Oracle o'z homiyligida korporativ standartni ishlab chiqmaslikka qaror qildi va uni Eclipse Foundationga topshirdi. Yuridik sabablarga ko'ra ular brendni o'zgartirishga majbur bo'ldilar va mahsulotni Jakarta EE deb atashga qaror qilishdi. Siz barcha Jakarta EE spetsifikatsiyalarini rasmiy veb-saytda topishingiz mumkin va hozirda Eclipse Foundation veb-saytida spetsifikatsiya jarayoni qanday ishlashi haqida ko'proq ma'lumot olishingiz mumkin.

Eclipse MicroProfile nima?

Java EE uchun yangi xususiyatlarni chiqarish va moslashtirish jarayoni juda sekin kechganligi sababli, bir guruh sotuvchilar va hamjamiyat a'zolari 2016 yilda MicroProfile yaratishga qaror qilishdi. Ushbu loyihaning asosiy maqsadi ishlab chiquvchilarga zamon bilan hamnafas bo'lishga yordam berish va mikroservislar arxitekturasi uchun mavjud platformani optimallashtirish edi. Hozirgi vaqtda Eclipse MicroProfile o'n ikkita spetsifikatsiyani o'z ichiga oladi. Ulardan to'rttasi ham Jakarta EE tarkibiga kiradi. Bu sizga faqat MicroProfile bilan mustaqil ilovalar yaratish imkonini beradi. Barcha spetsifikatsiyalar sotuvchidan mustaqil va dastur dastur serveri bilan birga keladi. Jakarta EE spetsifikatsiyalarini korporativ ilovalarni yaratish uchun mustahkam asos deb hisoblash mumkin. Bunga qo'shimcha ravishda, Eclipse MicroProfile taqsimlangan tizimlarni qurishdagi bo'shliqni to'ldiradi, chunki texnologiya o'n ikki faktorli dastur metodologiyasiga amal qiladi .
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION