Thứ Năm, 17 tháng 11, 2005

Java to exe

Ứng dụng viết bằng Java nổi tiếng là chạy được khắp mọi nơi ( dĩ nhiên là nơi đó phải có cài đặt JDK hoặc JRE). Theo đó cũng có rất nhiều cách để triển khai các ứng dụng Java. Phân phối sản phẩm phần mềm dạng desktop phát triển trên Java phải đảm bảo sao cho người dùng dễ sử dụng nhất. Công cụ nào là được việc đó ?

1 nhận xét:

  1. Xưa nay exe4j là công cụ trung thành để tạo các file exe khi viết ứng dụng desktop bằng Java. Việc tạo các tập tin exe được nhiều người khuyến cáo không nên dùng. Tuy nhiên, thực chất dùng exe4j lại không phải như vậy. Thông qua JNI (Java Native Interface ) Công cụ này tạo một file exe gọi đến java.exe hay javaw.exe hoặc từ các thư viện rồi truyền class có chứa hàm main vào. Mọi thực thi ứng dụng vẫn được JVM đảm nhận, do đó vẫn đảm bảo tốt các "ưu điểm vốn có" của một ứng dụng phát triển trên nền Java. Người dùng có thể lựa chọn tính năng embed toàn bộ jar file hay zip file ứng dụng của họ vào trong file exe để tránh những kẻ tò mò muốn ăn cắp code thông qua việc decompile class.

    Tất nhiên ngoài exe4j có hàng loạt các sản phẩm tương tự, thương mại có, nguồn mở có, miễn phí có. Một bài viết trên excelsior-usa khá chi tiết việc đánh giá các công cụ này. Trong đó có danh sách các sản phẩm. Ngoài việc giới thiệu về các công cụ tạo tập tin thực thi theo phong cách Custom Java Launchers And Wrappers, tác giả còn đánh giá và giới thiệu về các công cụ đóng gói cài đặt ứng dụng bao gồm cả những ứng dụng nổi tiếng là InstallAnywhere, InstallShield. Ahead-Of-Time Compilers viết tắt là AOT Compilers là một dạng "static compilers" hay "native code compilers" với ba công cụ phổ biến là Excelsior JET, GCJ ,NewMonics PERC . Bài viết nêu khá chi tiết điểm mạnh yếu của việc cùng những công cụ này. Có thể xem chi tiết bài viết tại đây.

    Sun, cha đẻ Java đề xuất một loạt các giải pháp phân phối, đóng gói, triển khai ứng dụng bao gồm : phân phối kiểu Applet, gọi lệnh trực tiếp, Java WebStarts, executable jar. Tuy nhiên, có nhiều lý do khiến nhà phát triển không thích những cách thức này. Vì vậy, việc tạo các tập tin thực thi ( trên hầu hết các nền tảng) vẫn thịnh hành và được nhiều người lựa chọn. Ngay cả những sản phẩm cốt lõi của Sun cũng được triển khai, phân phối theo kiểu này đó thôi.

    Trả lờiXóa

nhudinhthuan@gmail.com