可以在 iOS、 Android 或 Windows Phone 8上运行 JavaFX 应用程序吗?

一个人能够使用 JavaFX 开发一个完整的应用程序并在 iOS、 Android 或 WindowsPhone8上运行它,而不需要编写特定于平台的代码吗?

116809 次浏览
  1. yes you can run it on iOS and Android (Win8 is not supported!
  2. 没有部署作为一个网络应用程序不工作

是的,你可以在 iOS、 android、桌面、 RaspberryPI 上运行 JavaFX 应用程序(目前还没有 Windows8移动版)。

行动中的工作:

我们做到了! JavaFX8在 iPad,Android,Windows 和 Mac 上的多媒体项目!

JavaFX Everywhere JavaFX 无处不在

Ensemble8 Javafx8 Android 演示

我的示例 JavaFX 应用程序在 Raspberry Pi 上运行

在 Android 上运行的示例应用程序

IOS 和 Android 上的 JavaFX

发展资源:

安卓:

在 Android 上构建和部署 JavaFX 应用程序

IOS:

NetBeans 对 iOS 的 JavaFX 支持已经过时了!

用 RoboVM + e (fx) clipse 工具在10分钟内开发一个 JavaFX + iOS 应用程序

If you are going to develop serious applications here is some more info

Misc:

目前对于 JavaFXOracle 的优先级列表是桌面(Mac,windows,linux) 和嵌入式(覆盆子圆周率,小猎犬板等)。作为 OpenJFX 的一部分,iOS/android Oracle 完成了这些平台的大部分艰苦工作和开源 javafxport,但是在 iOS/android 平台上没有 Oracle 提供的 JVM。Community 是通过为 ios/android 填充缺失的部分(JVM)来实现的,Community 在 ios (RoboVM)/android (DalvikVM))上运行 JavaFX 方面取得了良好的进展。如果你愿意,你也可以通过赞助(Become a RoboVM sponsor)或开始开发应用程序和报告问题来为社区做贡献。

2014年6月23日编辑:

Johan Vos 为 javafx 端口 手机和平板电脑上的 JavaFX创建了一个网站,请查看更新信息。

桌面: 一流的支持

来自 Java SE的 OracleJavaFX 只支持 OS X (macOS), GNU/Linux and Microsoft Windows。在这些平台上,JavaFX 应用程序通常在 JavaSE 或 OpenJDK 的 JVM 上运行。

Android: 应该可以

还有一个 JavaFXPorts项目,这是一个由 第三方赞助的开源项目。它的目标是将 JavaFX图书馆移植到 Android 和 iOS 上。

在 Android 上,这个库可以像其他 Java 库一样使用: JVM 字节码被编译成 Dalvik 字节码。这就是人们所说的“ Android 运行 Java”的含义。

IOS: 状态不明

在 iOS 上,情况要复杂一些,因为 JavaSE 和 OpenJDK 都不支持苹果移动设备。直到最近,唯一明智的选择是在 iOS 上使用 RoboVM提前 Java 编译器。不幸的是,在2015年4月15日,RoboVM 项目被关闭了

一个可能的替代方案是英特尔的 多操作系统引擎。直到最近,它还是一项专利技术,但在2016年8月11日,它变成了 开源的。虽然可以使用 JavaFXPorts 的 JavaFX 实现来编译一个 iOS JavaFX 应用程序,但是到目前为止还没有这方面的证据。正如您所看到的,情况是动态变化的,当有新的信息可用时,这个答案有望得到更新。

Windows Phone: 不支持

With Windows Phone it's simple: there is no JavaFX support of any kind.

有可能。你也可以得到商业运动。

JavaFXPorts 是由 Gluon 维护的开源项目的名称,该项目开发 Java 和 JavaFX 在移动和嵌入式硬件上运行良好所必需的代码。这个项目的目标是在可能的情况下,在不可能的情况下,尽可能多地为 OpenJFX 项目做出贡献,以保持实现 JavaFXPorts 目标所需的最小数量的更改。 Gluon 获取 JavaFXPorts 源代码并将其编译成二进制文件,以便部署到 iOS、 Android 和嵌入式硬件上。JavaFXPorts 构建对所有开发人员都是免费的。

Http://gluonhq.com/labs/javafxports/

背景资料

Invariant's answer is a good resource for how everything was started and what was the state of JavaFX on embedded and mobile in beginning of 2014. But, 很多很多 has changed since then and the users who stumble on this thread do not get the updated information.

我的大部分观点都与不变式的答案有关,所以我建议先看一遍。

JavaFX 在移动/嵌入式平台上的应用现状

更新

JavaFXPorts 已被弃用。Gluon Mobile 现在在下面使用 GraalVM。使用 GraalVM 有许多优点。请检查这个 来自 Gluon 的博客文章。IDE 插件已经更新为使用 Gluon Client 插件,该插件利用 GraalVM 为 Android/iOS 编译应用程序。

Old answer with JavaFXPorts

先来点坏消息:

好消息是:

  • JavaFX 仍然在 Android、 iOS 和大多数嵌入式设备上运行
  • 可以从 给你下载用于 android、 iOS 和嵌入式设备的 JavaFXPorts SDK
  • JavaFXPorts 项目仍在蓬勃发展,在移动设备上运行 JavaFX 比以往任何时候都更加容易,这都要感谢构建在这些 SDK 之上的 IDE 插件,它可以让你在几分钟内开始,而不必安装任何 SDK
  • JavaFX 3D is now supported on mobile devices
  • GluonVM 取代 RoboVM,为移动开发人员提供 爪哇9支持。
  • Oracle 启动了 Mobile Project ,以支持所有主要移动平台上的 JDK。它也应该支持 JavaFX;)

如何开始

If you are not the DIY kind, I would suggest to install the IDE plugin on your favourite IDE and get started.

Most of the documentation on how to get started can be found here and some of the samples can be found here.