BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JavaFX:Web、PC、モバイル向けの1つのコードベース

JavaFX:Web、PC、モバイル向けの1つのコードベース

原文(投稿日:2021/07/12)へのリンク

Gluonは、JavaFXのステータスのアップデートを公開した。単一のJavaFXコードベースを、PC(標準JavaFX)、AndroidまたはiOSを搭載したモバイルデバイス(統合されたGraalVMを介して)、およびブラウザーベースのWebGLのベータ版(Gluonを介して)で使う方法が示された。

WebGLが新たに追加されたことにより、サポートのレベルがブラウザクライアント側に拡張されている。そのため、開発者は、特別なJavaScriptフロントエンドがなくても、単一のJava言語またはコードベースでアプリケーション全体を記述できるようになる。この変更は、複数のデバイスプロファイル横断で使われるクライアントアプリケーションを作成する開発者、あるいはWeb上でホストされるかElectronなどの手法でローカルにパッケージ化されるWebフロントエンドを作成する開発者にメリットがある。

Pi4JのコントリビュータであるFrank Delporte氏は、ガイドとサンプルプロジェクトを公開した。これは、Elecrow CrowPi2ラップトップなどのMacとRaspberry Piデバイスを横断で単一のアプリケーションとして届ける機能を紹介するように設計されている。このプロジェクトは、JavaFXアプリケーションをユーザが期待するものと同じように見せるために、どのようにControlsFXBootstrapFXなどの一般的なライブラリとスタイルシートを使うかを示すものである。この変更により、共通の共有コンポーネントを使用することで開発をスピードアップできる。同時に、馴染みのあるスタイルを維持しており、アプリケーションは、ユーザが慣れているものと比べて単に「違って見える」だけである。

Gluonのアプローチでは、サーバ上に何も必要としない完全なクライアント側コンポーネントが提供される。ビルド時、JavaFXコードはJavaScriptにトランスパイルされ、その後WebGLコードを呼び出す。このアプローチでは、永続的なサーバ側の状態が必要ないため、サーバレスアプリケーションがJavaFXWebフロントエンドにアクセスできるようになる。

JavaFXはクロスプラットフォームアプリケーションの基盤を提供するが、JavaScript/Webクライアントがはるかに一般的であるため、業界全体での使用率は低い。同様のクロスプラットフォーム開発トレンドに関するStackOverflowトレンドレポートでは、JavaFXがほとんど変わらないのに対し、FlutterとReact-Nativeの相対的な上昇が示されている。直接、数を比較すると、JavaFXのUdemyの受講者は120,000人であるが、React-Nativeの受講者は900,000人Flutterの受講者は1,500,000人である。

JavaFXは最近Foojayポッドキャストで議論された。メンバーは、クロスプラットフォームアプリケーションの最善のアプローチが、各プラットフォームのネイティブ環境をエミュレートするのではなく、共通のアプリケーションスタイルを選択することであると指摘している。開発者のGerrit Grunwald氏は、iOSコントロールは非常にユニークであり、FXコントロールによって表されるオブジェクトの一般的には外部にある状態情報を持っていると指摘した。

この記事に星をつける

おすすめ度
スタイル

BT