web-dev-qa-db-ja.com

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

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

100
momomo

バックグラウンド

Invariant's answer は、2014年の初めにすべてがどのように開始されたか、組み込みおよびモバイルでのJavaFXの状態については良いリソースです。しかし、a lotはそれ以降変更されており、このスレッドにつまずくユーザーは更新された情報を取得しません。

私のポイントのほとんどは、不変式の答えに関連しているので、最初に説明することをお勧めします。

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

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

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

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

始める方法

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

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

54
ItachiUchiha

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

作業中:

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

JavaFX Everywhere

Ensemble8 Javafx8 Android Demo

Raspberry Piで実行中のサンプルJavaFXアプリケーション

Androidで実行中のサンプルアプリケーション

iOSおよびAndroid上のJavaFX

開発リソース:

Android:

AndroidでのJavaFXアプリケーションのビルドとデプロイ

iOS:

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

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

本格的なアプリケーションを開発する場合は、ここに詳細情報があります

その他:

現在、JavaFXのOracle優先リストはデスクトップ(Mac、windows、linux)です および組み込み(Raspberry Pi、beagle Boardなど) .iOS/Androidの場合、Oracleはこれらのプラットフォームのほとんどの努力とopnesourced javafxportsをOpenJFXの一部として実行しましたが、ios/Android用のOracleからのJVMはありません。 ios/Android、Communityは、ios( RoboVM) /Android( DalvikVM )でJavaFXを実行することで順調に進歩しました。必要に応じて、スポンサー( RoboVMスポンサーになる )でコミュニティに貢献したり、アプリの開発を開始して問題を報告したりすることもできます。

2014年6月23日編集:

Johan Vosはjavafxポート用のWebサイトを作成しました モバイルおよびタブレットでのJavaFX 、更新された情報についてはこちらをご覧ください..

74
invariant

デスクトップ:一流のサポート

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

Android:動作するはずです

JavaFXPorts プロジェクトもあります。これは サードパーティ がスポンサーとなっているオープンソースプロジェクトです。 JavaFXlibraryを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日には open-sourced でした。 JavaFXPortsのJavaFX実装を使用してiOS JavaFXアプリをコンパイルすることは可能ですが、今のところその証拠はありません。ご覧のとおり、状況は動的に変化しており、新しい情報が利用可能になると、この回答が更新されることを期待しています。

Windows Phone:サポートなし

Windows Phoneでは簡単です。JavaFXのサポートは一切ありません。

4
cubuspl42

可能。商業スポーツも手に入れることができます。

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

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

2
jeton