JavaRush /Blog Java /Random-PL /Przerwa kawowa #21. Integracja Pythona z Javą. Poznajemy ...

Przerwa kawowa #21. Integracja Pythona z Javą. Poznajemy Jakarta EE i Eclipse MicroProfile

Opublikowano w grupie Random-PL

Integracja Pythona z Javą? Dlaczego nie!

Źródło: Jaxenter Przerwa kawowa #21.  Integracja Pythona z Javą.  Poznanie Jakarta EE i Eclipse MicroProfile - 1 Właściwie łączenie programowania systemowego i języków skryptowych nie jest nową, dziwną koncepcją: jest po prostu rzadko używany. W przypadku języków programowania, które mają wspólny binarny interfejs aplikacji, całkowicie możliwe jest połączenie ich w jedną bibliotekę lub plik wykonywalny. Chociaż to nieco utrudnia sprawę, istnieją narzędzia, które mogą pomóc. Python i Java właściwie się uzupełniają. Przykładowo jednego z nich możesz użyć do typowych podzadań, a drugiego jako języka skryptowego w celu rozszerzenia ustawień swojej aplikacji. Jeśli chodzi o integrację innych języków, na przykład JavaScript nie jest zwykle używany poza przeglądarkami internetowymi, przynajmniej w porównaniu z innymi językami skryptowymi, takimi jak Perl, Tcl, Visual Basic i Python. Jednak wszystkie te języki są zwykle łączone z innymi językami. Python był tradycyjnie łączony z C i C++, podczas gdy Visual Basic jest często preferowanym językiem skryptowym dla C++ na platformie Windows. Perl, podobnie jak Tcl, jest powszechnie używany w C/Unix. Python jest używany nieco częściej w systemie Windows, ponieważ łatwo integruje się z architekturą Microsoft Scripting Host oraz COM. Ponadto doskonale nadaje się również do narzędzi systemu macOS.

Dlaczego Java i Python?

Python to obiektowy język skryptowy, dzięki czemu dobrze pasuje do języka Java. W połączeniu z interpreterem Pythona napisanym w całości w Javie, takim jak Jython, możesz pisać całe aplety w Pythonie, które można następnie uruchamiać w dowolnej przeglądarce kompatybilnej z JDK, wykonując kod prawie tak szybko, jak C/CPython. Interpreter Jython tłumaczy kod źródłowy Pythona bezpośrednio na kod bajtowy Java, zapewniając niesamowitą szybkość. Jednak inne rozwiązania skryptowe Java (Java/TCL, Java/Perl itp.) dołączają maszynę JVM do implementacji C w tych językach, co nie tylko stwarza problem z przenośnością, ale same rozwiązania nie są tak proste, jak byśmy chcieli.

Jaki jest najlepszy sposób jednoczesnego używania Java i JPython?

Istnieje szereg sprawdzonych narzędzi, które implementują Python w Javie i odwrotnie, dzięki czemu można uruchamiać polecenia z jednego języka w innym. Oto krótka lista najlepszych narzędzi do integracji Pythona z Javą:
  • Jython to Python zaimplementowany w Javie.
  • JPype — umożliwia uruchamianie poleceń Java przy użyciu języka Python.
  • Jepp — Java wbudowana w Pythona.
  • JCC to generator kodu C++ do wywoływania Java z C++/Python.
  • Javabridge to pakiet do uruchamiania i interakcji z maszyną JVM z CPython.
  • Py4j - Umożliwia uruchamianie poleceń Java w Pythonie.
  • Voc jest elementem narzędzia BeeWare . Konwertuje kod Pythona na kod bajtowy Java.
  • p2j - Konwertuje kod Pythona na Javę. Już nie w fazie rozwoju.
Istnieje kilka sposobów wykorzystania tych narzędzi. Każdy ma swoje zalety i wady. Na przykład możesz prototypować całą aplikację w Jythonie, a po kilku rundach testowania i przeprojektowania przepisać wszystko w Javie. Dzięki temu możesz skorzystać ze zwiększonej elastyczności i szybkości tworzenia języków skryptowych na początku projektu. Jednak Twój produkt końcowy będzie musiał być nieco bardziej szczegółowy, niż gdybyś dopiero zaczął pisać wyłącznie w Javie. A jeśli martwisz się o biblioteki interfejsu użytkownika, Jython może podłączyć się do tych samych UIL-ów, co zwykła Java, więc konwersja Java powinna być prosta. Jednak sprawy nie są takie proste, jeśli próbujesz zbudować duży projekt. Prawdopodobnie napotkasz wadę polegającą na tym, że różne komponenty i warstwy mają niezależne cykle rozwojowe, takie jak komponenty najwyższego poziomu. Oczywiście możesz przepisać poszczególne komponenty w Javie w miarę zbliżania się do stabilnej wersji lub po prostu napisać niektóre komponenty od początku wyłącznie w Javie. Inną opcją jest przepisanie tylko tych komponentów, dla których ważna jest wydajność. W ten sposób możesz pozostawić komponenty wysokiego poziomu w Jythonie, co oznacza, że ​​wystarczy przepisać tylko komponenty niższego poziomu, a w niektórych przypadkach nie będziesz musiał w ogóle niczego przepisywać.

Przedstawiamy Jakarta EE i Eclipse MicroProfile

Źródło: DZone Nie słyszałeś jeszcze o Jakarta EE i Eclipse MicroProfile? Czas więc zapoznać się z tym, jak rozwijał się standard Java Enterprise. Obie te technologie z pewnością przydadzą Ci się w przyszłości, ponieważ świetnie nadają się do tworzenia natywnych w chmurze i nowoczesnych aplikacji korporacyjnych.

Co to jest Dżakarta EE?

Jakarta EE to zestaw specyfikacji (JAX-RS, CDI, JPA, JSON-P itp.) do pisania aplikacji korporacyjnych w języku Java. Te specyfikacje to dokumenty definiujące interfejs API i sposób interakcji technologii. Przerwa kawowa #21.  Integracja Pythona z Javą.  Poznanie Jakarta EE i Eclipse MicroProfile - 2Dokumenty specyfikacji są jak interfejsy z formalnymi definicjami, a faktyczna implementacja tych interfejsów zależy od dostawcy serwera aplikacji (np. WildFly, Open Liberty, Payara, TomEE). Aby zapobiec nieprawidłowemu wdrożeniu specyfikacji przez dostawcę, każda specyfikacja zawiera zestaw zgodności technologii (CTS). Jest to zestaw testów sprawdzających zgodność implementacji z określoną specyfikacją. Gdy serwer aplikacji prześle CST dla wszystkich specyfikacji, spełnia on cały standard. Przez wiele lat Java EE była standardowym sposobem pisania aplikacji dla przedsiębiorstw. Java EE (wcześniej nazywana J2EE) jest wspierana przez firmę Oracle od dłuższego czasu. W 2017 roku Oracle zdecydowała się zaprzestać rozwijania standardu korporacyjnego pod swoim auspicjami i przekazała go Fundacji Eclipse. Ze względów prawnych musieli dokonać rebrandingu i postanowili nazwać produkt Jakarta EE. Wszystkie specyfikacje Jakarta EE można znaleźć na oficjalnej stronie internetowej , a więcej informacji o tym, jak obecnie działa proces specyfikacji, można znaleźć na stronie Fundacji Eclipse.

Co to jest Eclipse MicroProfile?

Ponieważ proces wydawania i dostosowywania nowych funkcji dla Java EE był dość powolny, grupa dostawców i członków społeczności zdecydowała się stworzyć MicroProfile w 2016 roku. Głównym celem tego projektu była pomoc programistom w nadążaniu za duchem czasu, a także optymalizacja istniejącej platformy pod kątem architektury mikroserwisów. Obecnie Eclipse MicroProfile zawiera dwanaście specyfikacji. Cztery z nich są również częścią Jakarta EE. Umożliwia to tworzenie samodzielnych aplikacji wyłącznie za pomocą MicroProfile. Wszystkie specyfikacje są niezależne od dostawcy, a implementacja jest dostarczana wraz z serwerem aplikacji. Specyfikacje Jakarta EE można uznać za solidną podstawę do tworzenia aplikacji dla przedsiębiorstw. Oprócz tego Eclipse MicroProfile wypełnia lukę w budowaniu systemów rozproszonych, ponieważ technologia jest zgodna z metodologią aplikacji Twelve-Factor .
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION