Cập nhật cho Java 9, Tháng 2017
Theo Java 9 release notes:
Java Applet và chức năng WebStart, bao gồm các API Applet, Plug-in Java, Trình xem Java Applet, JNLP và Java Web Start bao gồm công cụ javaws đều bị phản đối trong JDK 9 và sẽ bị loại bỏ trong bản phát hành trong tương lai.
Vì vậy, đối với Java 9+, việc triển khai JavaFX trong trình duyệt bằng trình cắm Java sẽ chỉ có thể sử dụng công nghệ không dùng nữa. Oracle ghi chú trong một phần khác của số Java 9 release notes:
Không sử dụng công nghệ Java Plug-in và applet liên quan trong bản dựng JDK 9 của Oracle. Trong khi vẫn có sẵn trong JDK 9, các công nghệ này sẽ được xem xét để loại bỏ khỏi Oracle JDK và JRE trong một bản phát hành trong tương lai. Các applet và các ứng dụng JavaFX được nhúng trong một trang web yêu cầu Java Plug-in để chạy. Hãy xem xét viết lại các loại ứng dụng này như Java Web Start hoặc các ứng dụng độc lập.
Lưu ý: Java Web Start không thực sự là một thay thế vì điều đó cũng bị phản đối (dù sao, nó khác với ứng dụng được nhúng và hiển thị trong trang trình duyệt).
Là một thay thế cung cấp chức năng tương tự, hãy xem xét một cái gì đó như jpro, triển khai các ứng dụng JavaFX trong trình duyệt không có plugin Java (jpro hiện chỉ có phiên bản beta kín, vì vậy nó không phải là giải pháp khả thi kể từ tháng 10 năm 2017, nhưng có lẽ một ngày nào đó trong tương lai ...).
Hiện tại, tôi khuyên bạn nên cách tốt nhất để triển khai các ứng dụng JavaFX là self-contained applications, chạy bên ngoài trình duyệt.
câu trả lời trước cho Java 7 và 8
JavaFX - có thể nó thực sự được triển khai trong một trình duyệt?
Có, các ứng dụng JavaFX có thể được triển khai để chúng chạy bên trong trang web được lưu trữ trên web html.
Công nghệ cho phép điều này xảy ra là Java Plugin. Plugin này hiện là giải pháp plugin trình duyệt dựa trên NPAPI. Plugin Java được vận chuyển với Oracle Java 7 Runtime Standard Environment.
Không phải tất cả các trình duyệt đều được hỗ trợ, chỉ những trình duyệt được liệt kê trên JavaFX Supported Configurations page.
Dễ triển khai như thế nào thông qua trình duyệt web?
Cách dễ nhất để triển khai một dự án JavaFX trong một trình duyệt web là:
- Create a new JavaFX project in NetBeans.
- Develop a simple HelloWorld App.
- Làm theo hướng dẫn cho Deploying your first JavaFX Application.
Điều này không khó (theo ý kiến của tôi).
Cách khác, làm theo hướng dẫn về tham chiếu chi tiết cho Deploying JavaFX Applications (hoặc sử dụng các công cụ của bên thứ 3). Đối với nhiều dự án, sử dụng một công cụ không phải là NetBeans IDE để thực hiện bao bì là một cách tiếp cận tốt hơn. Tuy nhiên, thường dễ dàng hơn để cho NetBeans IDE xử lý các nhiệm vụ đóng gói triển khai cho bạn.
Điều sau đây không liên quan đến trả lời câu hỏi gốc, nhưng cung cấp một số ý kiến và thông tin được yêu cầu trong nhận xét về câu trả lời này.
Một số vấn
Có những cạm bẫy để triển khai Java trong trình duyệt. Tôi khuyến khích bạn làm nghiên cứu Google của riêng bạn về chủ đề này.
Trong đầu, dựa trên mô hình triển khai JavaFX 2.x hiện tại, đối với hầu hết các loại ứng dụng yêu cầu trình duyệt làm thùng chứa thời gian chạy chính, sử dụng JavaFX không phải là giải pháp thích hợp.
Kiểm tra các yêu cầu triển khai và thời gian chạy cho ứng dụng của bạn. Dựa trên yêu cầu của bạn và kiến thức về mô hình thực thi dựa trên trình duyệt JavaFX, hãy quyết định xem việc triển khai dựa trên trình duyệt bằng cách sử dụng công nghệ JavaFX có phải là cơ chế chính xác cho ứng dụng của bạn hay không.
Một vài khó khăn tiềm năng cho trình duyệt nhúng các ứng dụng JavaFX
Một số trình duyệt quan trọng (ví dụ Internet Explorer 10, iOS Safari và chẳng mấy chốc Desktop Chrome) không cho phép thực hiện các plugin sử dụng NPAPI đang được sử dụng bởi các plugin trình duyệt Java = > một số người dùng mục tiêu của bạn có thể không thể sử dụng ứng dụng của bạn.
Với ứng dụng nhúng trình duyệt, bạn không có toàn quyền kiểm soát thời gian chạy ứng dụng của bạn (trình duyệt + giao diện trình cắm thêm Java runtime) => ứng dụng hoạt động khi cài đặt lần đầu có thể ngừng hoạt động như mong đợi sau bản cập nhật cho các thành phần thời gian chạy này.
Deployment Alternatives
Nếu một mô hình triển khai dựa trên trình duyệt là không thích hợp cho ứng dụng của bạn, có những cách khác để deploy JavaFX applications (ví dụ WebStart, lọ độc lập và các ứng dụng khép kín).
Tại sao phải sử dụng JavaFX trong trình duyệt? Chỉ cần dính với ngăn xếp thông thường. –