Có thể chạy các ứng dụng JavaFX trên iOS, Android hoặc Windows Phone 8 không?


105

Người ta có thể phát triển toàn bộ một ứng dụng bằng JavaFX và chạy nó trên iOS, Android hoặc Windows Phone 8 mà không cần viết mã dành riêng cho nền tảng không?


1
Tôi không nghĩ vậy. Xem tại đây: news.kynosarges.org/2013/10/10/javafx-on-ios-android
Viktor K.

1
Oracle phát triển ADF di động. Nhìn này. Nó hỗ trợ iOS và android.
Alexander Kirov,

Chỉ cần tìm từ javafxports trên www. Hầu hết các tính năng của javafx đều hoạt động tốt trên windows / android / iOS. Tại thời điểm này, có một số tính năng chưa hoạt động trên Android như: Task.cancel () hoặc các ký tự unicode quốc tế hoặc trình phát phương tiện fx, v.v.
Amin

Câu trả lời:


61

Lý lịch

Câu trả lời của Invariant là một nguồn thông tin hữu ích về cách mọi thứ bắt đầu và trạng thái của JavaFX trên thiết bị nhúng và thiết bị di động vào đầu năm 2014. Tuy nhiên, rất nhiều thứ đã thay đổi kể từ đó và những người dùng vấp phải chuỗi này không nhận được thông tin cập nhật.

Hầu hết các điểm của tôi đều liên quan đến câu trả lời của Invariant, vì vậy tôi khuyên bạn nên xem qua nó trước.

Trạng thái hiện tại của JavaFX trên thiết bị di động / nhúng

Một số tin xấu đầu tiên:

Bây giờ, một số tin tốt:

  • JavaFX vẫn chạy trên Android, iOS và hầu hết các thiết bị nhúng
  • JavaFXPorts SDK cho android, iOS và các thiết bị nhúng có thể được tải xuống từ đây
  • Dự án JavaFXPorts vẫn đang phát triển mạnh và việc chạy JavaFX trên thiết bị di động dễ dàng hơn bao giờ hết, tất cả là nhờ các plugin IDE được tích hợp trên các SDK này và giúp bạn bắt đầu trong vài phút mà không cần cài đặt bất kỳ SDK nào.
  • JavaFX 3D hiện đã được hỗ trợ trên các thiết bị di động
  • GluonVM để thay thế RoboVM cho phép hỗ trợ Java 9 cho các nhà phát triển di động. Đúng, bạn nghe đúng đấy.
  • Dự án Di động đã được Oracle tung ra để hỗ trợ JDK trên tất cả các nền tảng di động chính. Nó cũng phải hỗ trợ JavaFX;)

Làm thế nào để bắt đầu

Nếu bạn không phải là người thích tự làm, tôi khuyên bạn nên cài đặt plugin IDE trên IDE yêu thích của bạn và bắt đầu.

Hầu hết các tài liệu về cách bắt đầu có thể được tìm thấy ở đây và một số mẫu có thể được tìm thấy ở đây .


Tôi không chắc lần cuối cùng bạn sử dụng JavaFX là khi nào nhưng có rất nhiều cải tiến đã xuất hiện trong JavaFX 8. Rất nhiều cũng đã thay đổi từ JavaFXPorts ban đầu sang Gluon Mobile.
ItachiUchiha

Cảm ơn bạn về bản cập nhật này. Câu hỏi nhanh, JavaFXPorts có miễn phí để sử dụng cho mục đích thương mại (sử dụng thư viện, không thay đổi nó) không? Tôi có một cơ sở mã JavaFX, tôi hy vọng sẽ tích hợp vào Android bằng cách nào đó. Gluon Mobile cung cấp bản dùng thử miễn phí, nhưng tôi cần một giải pháp lâu dài. JavaFXPorts (không phải Gluon Mobile) có phải là giải pháp không? Vui lòng làm rõ
Nova

@Nova Xin chào. Có, JavaFXPorts nằm trong ngoại lệ GPLv2 + CLASSPATH nên bạn có thể sử dụng nó trong dự án của mình mà không cần lo lắng. Nhưng, vì JavaFXPorts chỉ cung cấp cho bạn sự hỗ trợ tối thiểu (không hỗ trợ IDE + không có điều khiển Di động), tôi sẽ nghi ngờ nếu chọn nó cho một cái gì đó thương mại. Gluon Mobile được sử dụng miễn phí, nó chỉ có màn hình Nag khi ứng dụng của bạn khởi động (đối với phiên bản miễn phí). Tuy nhiên, bạn có thể thoát khỏi nó khi ứng dụng của bạn là nổi tiếng bằng cách trả một khoản phí :)
ItachiUchiha

@ItachiUchiha nghe có vẻ hứa hẹn! Một câu hỏi cuối cùng: So sánh các sản phẩm Gluon Mobile được tìm thấy ở đây cho thấy màn hình khó chịu là điểm khác biệt duy nhất giữa lớp miễn phí và lớp Indie. Có an toàn không khi cho rằng tôi có thể sử dụng phiên bản miễn phí cho mục đích thương mại, không giới hạn thời gian? Như trong, không có ngày hết hạn? Tôi có thể xử lý màn hình nũng nịu cho đến khi tiền đến được :) Cảm ơn bạn đã làm rõ
Nova

1
Xin lỗi, một câu hỏi nữa: Mã JavaFX của tôi đã hoàn thành 90% với hơn 20.000 dòng mã. Tôi vẫn có thể tích hợp Gluon Mobile vào codebase của mình ... hay tôi cần sử dụng nó ngay từ đầu trước khi viết một dòng? Thx
Nova

75

Có, bạn có thể chạy ứng dụng JavaFX trên iOS, android, máy tính để bàn, RaspberryPI (chưa có windows8 mobile).

Làm việc trong Hành động:

Chúng ta làm được rồi! Dự án đa phương tiện JavaFX8 trên iPad, Android, Windows và Mac!

JavaFX mọi nơi

Ensemble8 Javafx8 Android Demo

Ứng dụng JavaFX mẫu của tôi đang chạy trên Raspberry Pi

Ứng dụng mẫu của tôi đang chạy trên Android

JavaFX trên iOS và Android

Tài nguyên dành cho nhà phát triển:

Android:

Xây dựng và triển khai Ứng dụng JavaFX trên Android

iOS:

NetBeans đã hỗ trợ JavaFX cho iOS!

Phát triển ứng dụng JavaFX + iOS bằng các công cụ clipse RoboVM + e (fx) trong 10 phút

Nếu bạn định phát triển các ứng dụng nghiêm túc thì đây là một số thông tin thêm

Khác:

Hiện tại, danh sách ưu tiên của JavaFX Oracle là Desktop (Mac, windows, linux) và Embedded (Raspberry Pi, beagle Board, v.v.) . Đối với iOS / android oracle đã thực hiện hầu hết các công việc khó khăn và javafxport có nguồn lực của các nền tảng này như một phần của OpenJFX, nhưng ở đó is no JVM from oracle for ios / android.Community đang kết hợp tất cả lại với nhau bằng cách điền vào phần còn thiếu (JVM) cho ios / android, Cộng đồng đã đạt được tiến bộ tốt trong việc chạy JavaFX trên iOS ( RoboVM) / android ( DalvikVM ). Nếu muốn, bạn cũng có thể đóng góp cho cộng đồng bằng cách tài trợ ( Trở thành nhà tài trợ RoboVM ) hoặc bắt đầu phát triển ứng dụng và báo cáo sự cố.

Chỉnh sửa 23/06/2014:

Johan Vos đã tạo một trang web cho các cổng javafx JavaFX trên Di động và Máy tính bảng , hãy kiểm tra trang này để biết thông tin cập nhật ..


3
RoboVM có logo đẹp nhất BAO GIỜ. Đó là một con chim, đó là một ngón tay cái, không phải là một chiếc máy bay!
Aleksandr Dubinsky

Bạn có thể thêm liên kết đó: youtube.com/watch?v=a3dAteWr40k&feature=youtu.be ;-)
assylias

@invariant mức độ tích hợp và quyền truy cập vào micrô, gia tốc kế, gps, máy ảnh, v.v. cho các thiết bị khác nhau tốt như thế nào?
mmm

Liên kết đầu tiên đã chết. Phiên bản lưu trữ: web.archive.org/web/20141008171951/http://…
Miscreant

4

Máy tính để bàn: hỗ trợ hạng nhất

Oracle JavaFX từ Java SE chỉ hỗ trợ OS X (macOS), GNU / Linux và Microsoft Windows . Trên các nền tảng này, các ứng dụng JavaFX thường được chạy trên JVM từ Java SE hoặc OpenJDK.

Android: nên hoạt động

Ngoài ra còn có một dự án JavaFXPorts , là một dự án mã nguồn mở được tài trợ bởi bên thứ ba . Nó nhằm mục đích chuyển thư viện JavaFX sang Android và iOS.

Trên Android, thư viện này có thể được sử dụng giống như bất kỳ thư viện Java nào khác; các bytecode JVM được biên soạn để Dalvik bytecode . Đó là ý của mọi người khi nói rằng "Android chạy Java".

iOS: trạng thái không rõ ràng

Trên iOS, tình hình phức tạp hơn một chút, vì Java SE và OpenJDK đều không hỗ trợ các thiết bị di động của Apple. Cho đến gần đây, lựa chọn hợp lý duy nhất là sử dụng trình biên dịch Java trước thời hạn RoboVM cho iOS. Thật không may, vào ngày 15 tháng 4 năm 2015, dự án RoboVM đã ngừng hoạt động .

Một giải pháp thay thế khả thi là Công cụ đa hệ điều hành của Intel . Cho đến gần đây, nó là một công nghệ độc quyền, nhưng vào ngày 11 tháng 8 năm 2016, nó đã có nguồn mở . Mặc dù có thể biên dịch ứng dụng JavaFX trên iOS bằng cách sử dụng JavaFX của JavaFXPorts, nhưng cho đến nay vẫn chưa có bằng chứng cho điều đó. Như bạn có thể thấy, tình hình đang thay đổi linh hoạt, và câu trả lời này hy vọng sẽ được cập nhật khi có thông tin mới.

Windows Phone: không hỗ trợ

Với Windows Phone thì rất đơn giản: không có bất kỳ loại hỗ trợ JavaFX nào.


2

Khả thi. Bạn cũng có thể chơi thể thao thương mại.

JavaFXPorts là tên của dự án mã nguồn mở do Gluon duy trì nhằm phát triển mã cần thiết cho Java và JavaFX để chạy tốt trên thiết bị di động và phần cứng nhúng. Mục tiêu của dự án này là đóng góp càng nhiều cho dự án OpenJFX bất cứ khi nào có thể và khi không thể, để duy trì số lượng thay đổi tối thiểu cần thiết để thực hiện các mục tiêu của JavaFXPorts. Gluon lấy mã nguồn JavaFXPorts và biên dịch nó thành các tệp nhị phân sẵn sàng để triển khai trên iOS, Android và phần cứng nhúng. Các bản dựng JavaFXPorts có sẵn miễn phí trên trang web này cho tất cả các nhà phát triển.

http://gluonhq.com/labs/javafxports/


-4
  1. có, bạn có thể chạy nó trên iOS và Android (Win8 không được hỗ trợ!
  2. không triển khai vì ứng dụng web không hoạt động
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.