【问题标题】:Is it possible to run JavaFX applications on iOS, Android or Windows Phone 8?是否可以在 iOS、Android 或 Windows Phone 8 上运行 JavaFX 应用程序?
【发布时间】:2014-01-18 14:25:56
【问题描述】:

是否可以使用 JavaFX 开发整个应用程序并在 iOS、Android 或 Windows Phone 8 上运行,而无需编写特定于平台的代码?

【问题讨论】:

  • 我不这么认为。看这里:news.kynosarges.org/2013/10/10/javafx-on-ios-android
  • Oracle 开发 ADF 移动版。看这个。支持iOS和安卓。
  • 只要在 www 上寻找 javafxports 这个词。大多数 javafx 功能在 windows/android/iOS 上都可以正常工作。目前,有一些功能还没有在 android 上运行,例如:Task.cancel() 或国际 unicode 字符,或 fx 媒体播放器等。

标签: java javafx javafx-2


【解决方案1】:

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

实际工作:

We did it! JavaFX8 multimedia project on iPad, Android, Windows and Mac!

JavaFX Everywhere

Ensemble8 Javafx8 Android Demo

My Sample JavaFX application Running on Raspberry Pi

My Sample Application Running on Android

JavaFX on iOS and Android

开发资源:

安卓:

Building and deploying JavaFX Applications on Android

iOS:

NetBeans support for JavaFX for iOS is out!

Develop a JavaFX + iOS app with RoboVM + e(fx)clipse tools in 10 minutes

如果您要开发严肃的应用程序,这里有更多信息

其他:

目前对于 JavaFX,Oracle 优先级列表是桌面(Mac,windows,linux)and Embedded (Raspberry Pi, beagle Board etc)。对于 iOS/android,oracle 作为 OpenJFX 的一部分完成了这些平台的大部分工作和开源 javafxport,但是没有来自oracle for ios/android.Community 通过为 ios/android 填充缺失的部分 (JVM) 将所有内容放在一起,社区在 ios (RoboVM) / android(DalvikVM) 上运行 JavaFX 方面取得了良好进展。如果你愿意,你也可以通过赞助 (Become a RoboVM sponsor) 为社区做出贡献,或开始开发应用程序并报告问题。

编辑 2014 年 6 月 23 日:

Johan Vos 为 javafx 端口 JavaFX on Mobile and Tablets 创建了一个网站,请查看此更新信息 ..

【讨论】:

【解决方案2】:

背景

Invariant's answer 是一个很好的资源,可以了解一切是如何开始的,以及 2014 年初 JavaFX 在嵌入式和移动设备上的状态。但是,很多从那以后发生了变化,偶然发现此线程的用户不会获得更新的信息。

我的大部分观点都与Invariant的答案有关,所以我建议先过一遍。

移动/嵌入式 JavaFX 的现状

更新

JavaFXPorts 已被弃用。 Gluon Mobile 现在在下面使用 GraalVM。使用 GraalVM 有很多优点。请检查此blogpost from Gluon。 IDE 插件已更新为使用 Gluon 客户端插件,该插件利用 GraalVM 来 AOT 编译适用于 Android/iOS 的应用程序。

JavaFXPorts 的旧答案

先来一些坏消息:

现在,有个好消息:

  • JavaFX 仍可在 Android、iOS 和大多数嵌入式设备上运行
  • 适用于安卓、iOS和嵌入式设备的JavaFXPorts SDK可以从here下载
  • JavaFXPorts 项目仍在蓬勃发展,在移动设备上运行 JavaFX 比以往任何时候都容易,这都归功于构建在这些 SDK 之上的 IDE plugins,让您在几分钟内即可开始,无需安装任何SDK
  • JavaFX 3D is now supported on mobile devices
  • GluonVM 替换 RoboVM,为移动开发人员启用 Java 9 支持。是的,你没听错。
  • Mobile Project 已由 Oracle 推出,以支持所有主要移动平台上的 JDK。它也应该支持 JavaFX ;)

如何开始

如果你不是 DIY 类型,我建议你在你最喜欢的 IDE 上安装 IDE 插件并开始使用。

大部分关于如何开始的文档可以在here找到,一些示例可以在here找到。

【讨论】:

  • 我不确定您上次使用 JavaFX 是什么时候,但 JavaFX 8 已经进行了很多改进。从最初的 JavaFXPorts 到 Gluon Mobile 也发生了很多变化。
  • 感谢您的更新。快速提问,JavaFXPorts 是否可以免费用于商业目的(使用库,而不是更改它)?我有一个 JavaFX 代码库,希望以某种方式集成到 Android 中。 Gluon Mobile 提供免费试用,但我需要一个永久的解决方案。 JavaFXPorts(不是 Gluon Mobile)是解决方案吗?请澄清
  • @Nova 嗨。是的,JavaFXPorts is under GPLv2 + CLASSPATH exception 所以你可以在你的项目中使用它而不必担心。但是,由于 JavaFXPorts 只是为您提供了最低限度的支持(没有 IDE 支持+没有移动控件),我会怀疑是否将它用于商业用途。 Gluon Mobile 可以免费使用,它只是在您的应用程序启动时有一个 Nag 屏幕(免费版)。但是,当您的应用程序出名时,您可以通过付费来摆脱它:)
  • @ItachiUchiha 听起来很有希望!最后一个问题:here 发现的 Gluon Mobile 产品比较显示,nag 屏幕是免费层和独立层之间的唯一区别。假设我可以无限期地将免费版本用于商业用途,是否安全?如题,没有保质期?在资金流入之前,我可以处理烦人的屏幕:) 感谢您的澄清
  • 抱歉,还有一个问题:我的 JavaFX 代码已完成 90%,有 20,000 多行代码。我仍然可以将 Gluon Mobile 集成到我的代码库中吗……或者我是否需要从一开始就使用它,然后再写一行?谢谢
【解决方案3】:

桌面:一流的支持

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

Android:应该可以工作

还有一个JavaFXPorts 项目,这是一个由third-party 赞助的开源项目。它旨在将 JavaFX library 移植到 Android 和 iOS。

在 Android 上,这个库可以像任何其他 Java 库一样使用; JVM bytecode is compiled to Dalvik bytecode。这就是人们所说的“Android 运行 Java”的意思。

iOS:状态不明确

在 iOS 上,情况有点复杂,因为 Java SE 和 OpenJDK 都不支持 Apple 移动设备。直到最近,唯一明智的选择是为 iOS 使用 RoboVM 提前 Java 编译器。不幸的是,2015 年 4 月 15 日,RoboVM project was shut down

英特尔的Multi-OS Engine 是一种可能的替代方案。直到最近,它还是一项专有技术,但在 2016 年 8 月 11 日,它是open-sourced。尽管可以使用 JavaFXPorts 的 JavaFX 实现来编译 iOS JavaFX 应用程序,但到目前为止还没有证据证明这一点。如您所见,情况正在动态变化,希望在有新信息可用时更新此答案。

Windows Phone:不支持

使用 Windows Phone 很简单:没有任何类型的 JavaFX 支持。

【讨论】:

    【解决方案4】:

    可能。您也可以获得商业运动。

    JavaFXPorts 是由 Gluon 维护的开源项目的名称,该项目开发 Java 和 JavaFX 在移动和嵌入式硬件上良好运行所需的代码。该项目的目标是尽可能多地回馈 OpenJFX 项目,如果不可能,则保持实现 JavaFXPorts 目标所需的最少更改。 Gluon 获取 JavaFXPorts 源代码并将其编译成二进制文件,以便部署到 iOS、Android 和嵌入式硬件上。 JavaFXPorts 构建在此网站上可供所有开发人员免费使用。

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

    【讨论】:

      【解决方案5】:
      1. 是的,您可以在 iOS 和 Android 上运行它(不支持 Win8!
      2. 没有部署为网络应用不起作用

      【讨论】:

        猜你喜欢
        • 2014-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多