iOS、Android、またはWindows Phone 8でJavaFXアプリケーションを実行することは可能ですか?


105

プラットフォーム固有のコードを記述せずに、JavaFXを使用してアプリケーション全体を開発し、iOS、Android、またはWindows Phone 8で実行できますか?


1
私はそうは思いません。ここを見てください:news.kynosarges.org/2013/10/10/javafx-on-ios-android
Viktor K.

1
OracleはADFモバイルを開発しています。これ見て iOSとandroidをサポートしています。
Alexander Kirov

wwwでjavafxportsという単語を探してください。ほとんどのjavafx機能は、windows / android / iOSで正常に動作します。現時点では、Androidでまだ機能していない機能がいくつかあります:Task.cancel()や国際的なUnicode文字、fxメディアプレーヤーなど
Amin

回答:


61

バックグラウンド

Invariantの答えは、2014年の初めにすべてがどのように開始され、組み込みおよびモバイルでのJavaFXの状態がどのようになっていたかについての優れたリソースです。しかし、それ以来、多くの変化があり、このスレッドにつまずいたユーザーは更新された情報を入手できません。

私のポイントのほとんどはインバリアントの答えに関連しているので、最初にそれを検討することをお勧めします。

モバイル/組み込みのJavaFXの現状

最初にいくつかの悪いニュース:

さて、いくつかの良いニュース:

  • JavaFXは引き続きAndroid、iOS、およびほとんどの組み込みデバイスで動作します
  • Android、iOS、および組み込みデバイス用のJavaFXPorts SDKは、ここからダウンロードできます。
  • JavaFXPortsプロジェクトは今も繁栄しており、モバイルデバイスでJavaFXを実行するのはこれまでになく簡単です。これらのSDKの上に構築されたIDEプラグインのおかげで、SDKをインストールする手間をかけずに数分で開始できます。
  • JavaFX 3Dがモバイルデバイスでサポートされるようになりました
  • モバイルデベロッパー向けのJava 9サポートを可能にするRoboVMを置き換えるGluonVM 。はい、あなたはそれを正しく聞きました。
  • モバイルプロジェクトは、すべての主要なモバイルプラットフォームでJDKをサポートするためにOracleによって立ち上げられました。JavaFXもサポートする必要があります;)

どうやって始めるのか

あなたがDIYの種類でない場合は、お気に入りのIDEにIDEプラグインをインストールして開始することをお勧めします。

開始方法に関するドキュメントのほとんどはここにあり、サンプルの一部はここにあります


最後にJavaFXをいつ使用したかはわかりませんが、JavaFX 8には多くの改善が加えられています。多くの点で、初期のJavaFXPortsからGluon Mobileに変更されています。
ItachiUchiha 2016年

このアップデートをありがとう。簡単な質問ですが、JavaFXPortsは商用目的で自由に使用できますか(ライブラリを変更するのではなく、使用する)なんとかしてAndroidに統合したいJavaFXコードベースがあります。Gluon Mobileは無料の試用版を提供していますが、永続的な解決策が必要です。JavaFXPorts(Gluon Mobileではない)がソリューションですか?明確にしてください
Nova

@ノバこんにちは。はい、JavaFXPortsはGPLv2 + CLASSPATH例外の下にあるので、心配することなくプロジェクトで使用できます。しかし、JavaFXPortsは最低限のサポート(IDEサポートなし+モバイルコントロールなし)を提供するだけなので、商業用にそれを選択することには懐疑的です。Gluon Mobileは無料で使用でき、アプリケーションの起動時にNag画面が表示されるだけです(無料バージョンの場合)。しかし、あなたのアプリが有名なとき、料金を支払うことでそれを取り除くことができます:)
ItachiUchiha

@ItachiUchiha有望に聞こえます!最後の質問:ここにあるGluon Mobile製品を比較すると、ナグスクリーンが無料枠とインディーズ枠の唯一の違いであることがわかります。無料版を無制限に商用利用できると思い込んでも大丈夫ですか?のように、有効期限はありませんか?私は明確にするためにある:)おかげで資金ロールまでナグ画面を扱うことができる
ノヴァ

1
申し訳ありませんが、もう1つ質問があります。私のJavaFXコードは90%完全で、20,000行以上のコードがあります。それでもGluon Mobileをコードベースに統合できますか?または、1行を書く前に、最初からそれを使用する必要がありますか?Thx
Nova

75

はい、JavaFXアプリケーションをiOS、Android、デスクトップ、RaspberryPIで実行できます(Windows8モバイルはまだです)。

実行中の作業:

やりました!iPad、Android、Windows、MacでのJavaFX8マルチメディアプロジェクト!

JavaFX Everywhere

Ensemble8 Javafx8 Androidデモ

Raspberry Piで動作するサンプルJavaFXアプリケーション

Androidで実行しているサンプルアプリケーション

iOSおよびAndroid上のJavaFX

開発リソース:

Android:

AndroidでのJavaFXアプリケーションの構築とデプロイ

iOS:

iOS向けJavaFXのNetBeansサポートが終了しました!

RoboVM + e(fx)clipseツールを使用してJavaFX + iOSアプリを10分で開発

本格的なアプリケーションを開発する場合は、こちらをご覧ください。

その他:

現在、JavaFX Oracleの優先順位リストはデスクトップ(Mac、Windows、Linux)および組み込み(Raspberry Pi、ビーグルボードなど)です。iOS/ Androidの場合、OracleはOpenJFXの一部としてこれらのプラットフォームのハードワークとopnesourced javafxportsのほとんどを行いますが、そこにはios / androidのOracleからのJVMはありません。Communityは、ios / androidの欠落した部分(JVM)を埋めることによってすべてをまとめています。コミュニティは、iOSRoboVM) / android(DalvikVM)でJavaFXを実行することで順調に進んでいます。必要に応じて、スポンサー(RoboVMスポンサーになる)でコミュニティに貢献したり、アプリの開発を開始して問題を報告したりすることもできます。

編集06/23/2014:

Johan Vos がモバイルとタブレットの javafxポートJavaFXの Webサイトを作成しました。最新情報については、こちらをチェックしてください。


3
RoboVMにはこれまでで最高のロゴがあります。それは鳥であり、親指であり、飛行機ではありません!
Aleksandr Dubinsky 2014年

次のリンクを追加できます:youtube.com/watch
v

@invariantさまざまなデバイスの統合、マイク、加速度計、gps、カメラなどへのアクセスはどれくらいですか?
mmm 2014年

最初のリンクは死んでいます。アーカイブバージョン:web.archive.org/web/20141008171951/http
Miscreant

4

デスクトップ:ファーストクラスのサポート

Java SEの Oracle JavaFXは、OS X(macOS)、GNU / LinuxおよびMicrosoft Windowsのみをサポートしています。これらのプラットフォームでは、JavaFXアプリケーションは通常、Java SEまたはOpenJDKからJVMで実行されます。

Android:動作するはずです

サードパーティがスポンサーとなっているオープンソースプロジェクトであるJavaFXPortsプロジェクトもあります。JavaFX ライブラリをAndroidおよびiOS に移植することを目的としています。

Androidでは、このライブラリは他のJavaライブラリと同じように使用できます。JVMバイトコードは、のDalvikバイトコードにコンパイルされます。それは、「AndroidはJavaを実行する」と言って人々が意味することです。

iOS:ステータスが不明

iOSでは、Java SEもOpenJDKもAppleモバイルデバイスをサポートしていないため、状況は少し複雑です。最近まで、唯一の賢明なオプションは、iOS向けのRoboVM事前Javaコンパイラを使用することでした。残念ながら、2015年4月15日、RoboVMプロジェクトは終了しました

考えられる代替策の1つはIntelのMulti-OS Engineです。最近まで、これは独自の技術でしたが、2016年8月11日にはオープンソースでした。JavaFXPortsのJavaFX実装を使用してiOS JavaFXアプリをコンパイルすることは可能ですが、これまでのところその証拠はありません。ご覧のとおり、状況は動的に変化しており、この情報は新しい情報が利用可能になったときに更新されると期待されます。

Windows Phone:サポートなし

Windows Phoneでは、それは簡単です。いかなる種類のJavaFXサポートもありません。


2

可能。コマーシャルスポーツも楽しめます。

JavaFXPortsは、モバイルおよび組み込みハードウェアでJavaおよびJavaFXを適切に実行するために必要なコードを開発する、Gluonが管理するオープンソースプロジェクトの名前です。このプロジェクトの目標は、可能な限りOpenJFXプロジェクトに貢献し、不可能な場合はJavaFXPortsの目標を実現するために必要な最小限の変更を維持することです。GluonはJavaFXPortsソースコードを受け取り、それをバイナリにコンパイルして、iOS、Android、および組み込みハードウェアに展開できるようにします。JavaFXPortsビルドは、すべての開発者がこのWebサイトで無料で入手できます。

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


-4
  1. はい、iOSとAndroidで実行できます(Win8はサポートされていません!
  2. Webアプリとしての展開が機能しない
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.