Modalityは、開発における最初の実際のエンタープライズレベルのWebFXアプリケーションです。バックオフィスのいくつかのワイヤフレームを次に示します(WebFXは、これらのUIに必要なすべてのコンポーネントを提供します):
WebFXはWebのみをターゲットにしていません。 WebFXアプリケーションをコンパイルして、単一のコードベースから7つのプラットフォームでネイティブに実行できます。
| プラットフォーム | 32または64ビットJRE | 64ビットネイティブ |
|---|---|---|
| デスクトップ(Windows、Macos、Linux) | ✅ | ✅ |
| タブレットとモバイル(Android&iOS) | ✅ | |
| embed(raspberry pi)〜まだ文書化されていません | ✅ | ✅ |
| Web(Chrome、Firefox、Edgeなど...) |
デモをチェックして、GitHubワークフローがこれらの実行可能ファイルを生成する方法を確認できます。たとえば、FX2048デモのGitHubワークフローと、生成した実行可能ファイルは次のとおりです。
WebFXは、webfxキットと一緒にJavafxアプリケーションをコンパイルします - openJFXのGWT互換バージョン。
詳細については、ドキュメントをお読みください。
開始ガイドはドキュメントに含まれています。
WebFXキット(このリポジトリ)はプロジェクトの中心ですが、一緒にWebFXエコシステムを構成する他の重要なリポジトリがあります。それらについての詳細は、組織レベルで提供されています。
WebFXはまだインキュベーション段階にあります。以下のロードマップを参照してください。この段階では、スナップショットリリースのみを提供し、最初の公式リリースまで変更が発生する場合があります。
webfx.xmlファイルの構文ドキュメント⓵100%= 3D、CSSなし。 Javafx 3Dは、HTMLに簡単にマッピングできません。 CSSの場合、WebFXアプローチは、ブラウザでJavafx CSSをエミュレートするのではなく、HTML CSSに依存することです。このアプローチの詳細については、⓽を参照してください。
⓶webfxは、一般的なJavafx-Controls APIをサポートしています(カスタムコントロールを書くことができます)。これまでのところ、サポートされているJavafxコントロールは次のとおりです。ボタン、チェックボックス、RadioButton、ContextMenu、Label、HyperLink、Textfield、Textarea、PasswordField、ProgressBar、Slider、Scrollpane、Splitpane&Tabpaneです。
fxmlは反射に依存しており、これはトランスピラーによってサポートされていません。または、WebFXはFXMLファイルを透過可能なJavaコードに変換できます。 FXMLベースのJavafxゲームであるMemory Gameを使用して、このアプローチでプロトタイプが作成されました(Working Demoを参照)。
webFX Transpiler-Ingosticを作成するための努力が現在行われています。 J2CL(アクティブ開発におけるGWTの後継者)がまもなくサポートされます。また、この将来の防止ステップは、WebAssembly Target(JavaScriptに加えて)やKotlin Language(Javaに加えて)など、J2CLの次のすべてのグッズももたらします。
teavmはもう1つの人気のあるトランスピラーです。 GWT&J2CLはJava-Sourceのトランスピラーですが、Teavmはバイトコードトランスピラーであり、SCALAなどの他の代替JVM言語への扉を開きます。また、TEAVMはrecordや新しいswitch式を含むJava 21をサポートしています。
jxbrowserサポートは、開発者がJavaから直接WebFXアプリのWebバージョンを実行、テスト、デバッグするために使用できる外部Webビューを提供します(トランスピレーションは不要です!)。 IDEは、JVMで(OpenJFXの代わりに)WebFXキットランタイムを使用してアプリを実行するだけで、WebFXによって生成されたDOMはJXBrowser(Javaで制御されるChromiumベースのブラウザー)でレンダリングされます。これにより、Webアプリの開発サイクルが大幅に高速化されます。
⓻WebFXエクストラは、WebFXの追加機能を提供し、まだサポートされていない複雑なJavaFXコントロールに対するよりシンプルな代替コントロールを提供します(例:単純なデータグリッドとチャート)。
⓼WebFXスタックは、SSOサポートを備えたUIルーター、I18N、検証、AUTH(N/Z)、クライアント側ORM、DBアクセス、WebSocketベースのイベントバス(サーバー通信用-VERT.Xのフォーカス)、サーバープッシュ機能などの追加のエンタープライズレベルの機能を提供します。 webfx stack + vert.xはJavaフルスタックソリューションです(React + node.jsに似ています)。
css webfx cssはデュアル形式に依存しています:javafx css&html css。 WebFX開発者は両方の形式を記述する必要があります。より多くの作業ですが、これは最も最適化されたアプローチです(Javafx CSSをエミュレートし、ブラウザにCaspian.cssをロードすることは重いアプローチです)。 WebFX CSSは、現代の洗練されたミニマルなフラットデザインを使用して、カスピアンを置き換えるJavafxのより軽い初期CSSを提供します。
現在のパッチングプロセス(主にOpenJFX 8の手動パッチである)から、OpenJFXへの定期的な反乱を可能にするツールを備えたより専門的なパッチングプロセスに移動するには、一部の再設計作業も必要です。
質問や助けを求めるリクエストについては、GitHubのディスカッションを自由に開くか、Discordで#Generalチャットチャンネルを使用してください。問題を開いてバグを報告したり、機能を要求したりできます。
更新を受信したい頻度に応じて、ブログ(RSS -Trafficの低い)を購読したり、@WebFXProject(X -Medium Traffic)をフォローするか、#Newsチャンネル(不一致 - トラフィックの高い)に参加できます。
プロジェクトを大いに支援できます。
開発にも参加したいですか?どういたしまして!寄稿ガイドをお読みください。
WebFXは、Apacheライセンス2.0に基づいてライセンスされている無料のオープンソースソフトウェアです