JavaRush /Blog Java /Random-VI /Nghỉ giải lao #21. Tích hợp Python với Java. Làm quen với...

Nghỉ giải lao #21. Tích hợp Python với Java. Làm quen với Jakarta EE và Eclipse MicroProfile

Xuất bản trong nhóm

Tích hợp Python với Java? Tại sao không!

Nguồn: Jaxenter Nghỉ giải lao #21.  Tích hợp Python với Java.  Làm quen với Jakarta EE và Eclipse MicroProfile - 1 Trên thực tế, việc kết hợp các ngôn ngữ lập trình hệ thống và kịch bản không phải là một khái niệm mới lạ: nó chỉ hiếm khi được sử dụng. Đối với các ngôn ngữ lập trình có giao diện ứng dụng nhị phân chung thì hoàn toàn có thể kết hợp chúng thành một thư viện duy nhất hoặc có thể thực thi được. Mặc dù điều này khiến mọi việc trở nên khó khăn hơn một chút nhưng vẫn có những công cụ có thể trợ giúp. Python và Java thực sự bổ sung cho nhau. Ví dụ: bạn có thể sử dụng một trong số chúng cho các tác vụ phụ thông thường và ngôn ngữ còn lại làm ngôn ngữ kịch bản để mở rộng cài đặt cho ứng dụng của bạn. Ví dụ: khi nói đến việc tích hợp các ngôn ngữ khác, JavaScript thường không được sử dụng bên ngoài trình duyệt web, ít nhất là so với các ngôn ngữ kịch bản lệnh khác như Perl, Tcl, Visual Basic và Python. Tuy nhiên, tất cả các ngôn ngữ này thường được kết hợp với các ngôn ngữ khác. Theo truyền thống, Python được kết hợp với C và C++, trong khi Visual Basic thường là ngôn ngữ kịch bản được lựa chọn cho C++ trên nền tảng Windows. Và Perl, giống như Tcl, thường được sử dụng trên C/Unix. Python được sử dụng thường xuyên hơn một chút trên Windows vì nó tích hợp dễ dàng với kiến ​​trúc Microsoft Scripting Host cũng như COM. Ngoài ra, nó cũng tuyệt vời cho các công cụ macOS.

Tại sao lại là Java và Python?

Python là một ngôn ngữ kịch bản hướng đối tượng, rất phù hợp với Java. Kết hợp với trình thông dịch Python được viết hoàn toàn bằng Java, chẳng hạn như Jython, bạn có thể viết toàn bộ applet bằng Python, sau đó có thể chạy trong bất kỳ trình duyệt tương thích với JDK nào, với tốc độ thực thi mã gần như nhanh như C/CPython. Trình thông dịch Jython dịch trực tiếp mã nguồn Python sang mã byte Java, mang lại tốc độ đáng kinh ngạc. Nhưng các giải pháp kịch bản Java khác (Java/TCL, Java/Perl, v.v.) gắn JVM vào triển khai C trong các ngôn ngữ này, điều này không chỉ tạo ra vấn đề về tính di động mà bản thân các giải pháp này cũng không dễ dàng như chúng ta mong muốn.

Cách tốt nhất để sử dụng Java và JPython cùng nhau là gì?

Có một số công cụ đã được chứng minh là có thể triển khai Python trong Java hoặc ngược lại, vì vậy bạn có thể chạy các lệnh từ ngôn ngữ này sang ngôn ngữ khác. Dưới đây là danh sách ngắn một số công cụ tốt nhất để tích hợp Python với Java:
  • Jython là Python được triển khai bằng Java.
  • JPype - Cho phép bạn chạy các lệnh Java bằng Python.
  • Jepp - Java được tích hợp vào Python.
  • JCC là trình tạo mã C++ để gọi Java từ C++/Python.
  • Javabridge là gói để chạy và tương tác với JVM từ CPython.
  • Py4j - Cho phép bạn chạy các lệnh Java bằng Python.
  • Voc là một thành phần của công cụ BeeWare . Chuyển đổi mã Python thành mã byte Java.
  • p2j - Chuyển đổi mã Python sang Java. Không còn trong quá trình phát triển.
Có một số cách tiếp cận để sử dụng các công cụ này. Mỗi thứ có lợi thế và bất lợi riêng của nó. Ví dụ: bạn có thể tạo nguyên mẫu cho toàn bộ ứng dụng trong Jython và sau nhiều vòng thử nghiệm và thiết kế lại, hãy viết lại mọi thứ bằng Java. Điều này cho phép bạn tận dụng tính linh hoạt và tốc độ phát triển sớm của ngôn ngữ kịch bản lệnh trong dự án của mình. Tuy nhiên, sản phẩm cuối cùng của bạn sẽ cần phải chi tiết hơn một chút so với khi bạn chỉ mới bắt đầu viết bằng Java. Và nếu bạn lo lắng về các thư viện giao diện người dùng, Jython có thể kết nối vào các UIL giống như Java thông thường, do đó việc chuyển đổi Java sẽ trở nên dễ dàng. Tuy nhiên, mọi thứ không đơn giản như vậy nếu bạn đang cố gắng xây dựng một dự án lớn. Bạn có thể gặp bất lợi khi có nhiều thành phần và lớp khác nhau có chu kỳ phát triển độc lập, chẳng hạn như các thành phần cấp cao nhất. Tất nhiên, bạn có thể viết lại các thành phần riêng lẻ trong Java khi bạn tiến gần hơn đến bản phát hành ổn định hoặc chỉ cần viết một số thành phần của bạn bằng Java ngay từ đầu. Một lựa chọn khác là chỉ viết lại những thành phần mà hiệu suất là quan trọng. Bằng cách này, bạn có thể để các thành phần cấp cao trong Jython, nghĩa là bạn chỉ cần viết lại các thành phần cấp thấp hơn, và trong một số trường hợp bạn sẽ không phải viết lại bất cứ thứ gì cả.

Giới thiệu Jakarta EE và Eclipse MicroProfile

Nguồn: DZone Bạn chưa nghe nói về Jakarta EE và Eclipse MicroProfile? Vì vậy, đã đến lúc làm quen với cách phát triển tiêu chuẩn Java Enterprise. Cả hai công nghệ này chắc chắn sẽ hữu ích cho bạn trong tương lai vì chúng rất phù hợp để xây dựng các ứng dụng doanh nghiệp hiện đại và dựa trên nền tảng đám mây.

Jakarta EE là gì?

Jakarta EE là một bộ thông số kỹ thuật (JAX-RS, CDI, JPA, JSON-P, v.v.) để viết các ứng dụng doanh nghiệp bằng Java. Các thông số kỹ thuật này là tài liệu xác định API và cách công nghệ tương tác. Nghỉ giải lao #21.  Tích hợp Python với Java.  Làm quen với Jakarta EE và Eclipse MicroProfile - 2Các tài liệu đặc tả giống như các giao diện có định nghĩa chính thức và việc triển khai thực tế các giao diện này phụ thuộc vào nhà cung cấp máy chủ ứng dụng (ví dụ: WildFly, Open Liberty, Payara, TomEE). Để ngăn nhà cung cấp triển khai thông số kỹ thuật không chính xác, mỗi thông số kỹ thuật sẽ cung cấp Bộ công cụ tương thích công nghệ (CTS). Đây là một tập hợp các thử nghiệm để xác minh việc tuân thủ việc triển khai một thông số kỹ thuật cụ thể. Khi máy chủ ứng dụng truyền CST cho tất cả các thông số kỹ thuật, nó sẽ tuân thủ toàn bộ tiêu chuẩn. Trong nhiều năm, Java EE là cách tiêu chuẩn để viết ứng dụng doanh nghiệp. Java EE (trước đây gọi là J2EE) đã được Oracle hỗ trợ từ lâu. Vào năm 2017, Oracle đã quyết định không phát triển tiêu chuẩn công ty dưới sự bảo trợ của mình nữa và chuyển nó sang Eclipse Foundation. Vì lý do pháp lý, họ phải đổi thương hiệu và quyết định gọi sản phẩm là Jakarta EE. Bạn có thể tìm thấy tất cả các thông số kỹ thuật của Jakarta EE trên trang web chính thức và bạn có thể tìm thêm thông tin về cách thức hoạt động của quy trình đặc tả hiện tại trên trang web của Eclipse Foundation.

Tệp vi mô Eclipse là gì?

Do quá trình phát hành và điều chỉnh các tính năng mới cho Java EE diễn ra khá chậm nên một nhóm nhà cung cấp và thành viên cộng đồng đã quyết định tạo MicroProfile vào năm 2016. Mục tiêu chính của dự án này là giúp các nhà phát triển theo kịp thời đại và cũng để tối ưu hóa nền tảng hiện có cho kiến ​​trúc microservice. Hiện tại, Eclipse MicroProfile chứa 12 thông số kỹ thuật. Bốn trong số đó cũng là một phần của Jakarta EE. Điều này cho phép bạn tạo các ứng dụng độc lập độc quyền với MicroProfile. Tất cả các thông số kỹ thuật đều độc lập với nhà cung cấp và việc triển khai đi kèm với máy chủ ứng dụng. Các thông số kỹ thuật của Jakarta EE có thể được coi là nền tảng vững chắc để xây dựng các ứng dụng doanh nghiệp. Ngoài ra, Eclipse MicroProfile còn lấp đầy khoảng trống trong việc xây dựng các hệ thống phân tán vì công nghệ này tuân theo phương pháp ứng dụng Mười hai yếu tố .
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION