模式是開發中的第一個現實企業級WebFX應用程序。這是後台的一些線框(WebFX將提供這些UIS所需的所有組件):
WebFX不僅針對網絡。 WebFX應用程序可以編譯為從單個代碼庫的7個平台上本地運行!
| 平台 | 32或64位JRE | 64位本地 |
|---|---|---|
| 桌面(Windows,MacOS和Linux) | ✅ | ✅ |
| 平板電腦和手機(Android&iOS) | ✅ | |
| 嵌入(覆盆子Pi)〜尚未記錄 | ✅ | ✅ |
| Web(Chrome,Firefox,Edge等...) |
您可以查看演示,以查看GitHub工作流程如何生成這些可執行文件。例如,這是FX2048演示及其生成的可執行文件的GitHub工作流程。
WebFX將您的Javafx應用程序與WebFX套件一起編譯了您的Javafx應用程序 - OpenJFX的GWT兼容版本。
有關更多說明,請閱讀文檔。
入門指南包含在文檔中。
儘管WebFX套件(此存儲庫)是項目的核心,但還有其他重要的存儲庫共同組成了WebFX生態系統。有關它們的更多信息將在組織級別提供。
WebFX仍處於孵化階段。您可以在下面諮詢我們的路線圖。在此階段,我們僅提供快照發布,直到第一個正式版本才會發生破壞變化。
webfx.xml文件的語法文檔⓵100%=否3D,沒有CSS。 Javafx 3D無法輕易映射到HTML。對於CSS,WebFX方法是依靠HTML CSS,而不是在瀏覽器中模擬Javafx CSS。有關此方法的更多信息,請參見⓽。
⓶WebFX支持一般的Javafx-Controls API(允許您編寫自定義控件)。到目前為止,受支持的JAVAFX控件是:按鈕,複選框,RadioButton,ContextMenu,標籤,超鏈接,TextField,TextArea,TextArea,PasschandField,ProgressBar,Slider,Slider,ScrollPane,Scrollpane,Splitpane和Tabpane。
⓷FXML依賴於反射,這是轉基因不支持的。另外,WebFX可以將FXML文件轉換為可透明的Java代碼。使用Memory Game(基於FXML的Javafx遊戲)製作了原型(請參閱Working Demo)。
⓸目前正在努力使WebFX transpiler-agnostic。 J2CL(在積極發展中的GWT的繼任者)將很快得到支持。這個未來的步驟還將帶來J2CL的所有下一個好處,例如WebAssembly Target(除JavaScript)和Kotlin語言(除Java)。
teavm是另一個受歡迎的轉板器。 GWT&J2CL是Java-Source Transpilers,而Teavm是一個字節代碼轉介劑,它將打開其他替代JVM語言(例如Scala)的大門。此外,TEAVM支持Java 21,包括record和新的switch表達式。
⓺JXBrowser支持將提供外部Web視圖,開發人員可以直接從Java直接運行,測試和調試其WebFX應用程序的Web版本(無需轉換!)。 IDE只需在JVM中使用WebFX套件運行時(而不是OpenJFX)運行您的應用,並且WebFX生成的DOM將在JXBrowser(由Java控制的基於Chromium的瀏覽器)中渲染。這將大大加快Web應用程序的開發週期。
⓻webfx Extras為WebFX提供了其他功能,以及尚未支持的複雜Javafx控件的更簡單的替代控件(例如:簡單的數據網格和圖表)。
⓼WebFX堆棧提供其他企業級功能,例如:UI路由器,I18N,驗證,auth(N/Z),具有SSO支持,客戶端ORM,DB訪問,DB訪問,基於WebSocket的Event Bus(用於服務器通信 - 專注於Vert.x)和服務器推送功能。 WebFX堆棧 + Vert.x是Java全堆棧解決方案(類似於React + Node.js)。
WebFX CSS依賴於雙重格式:Javafx CSS和HTML CSS。 WebFX開發人員將需要編寫兩種格式。儘管這是更多的工作,但這是最優化的方法(模擬Javafx CSS和在瀏覽器中加載caspian.css將是一種繁重的方法)。 WebFX CSS將為Javafx提供更輕的初始CSS,該CSS將使用現代時尚的簡約平面設計代替Caspian。
從當前的修補過程(主要是OpenJFX 8的手動補丁)到更專業的修補過程,還需要進行一些重新設計工作,並通過允許定期重新打開OpenJFX上的更專業的修補過程。
如有任何疑問或幫助請求,請隨時打開GitHub討論,或在Discord上使用我們的#General Chat頻道。您可以打開問題以報告錯誤或請求功能。
根據您希望收到更新的頻率,您可以訂閱我們的博客(RSS-流量低),關注@WebfxProject(X-中等流量),或加入我們的#News Channel(Discord -discord-更高的流量)。
您可以通過:
您也想參與開發嗎?您非常歡迎!請閱讀我們的貢獻指南。
WebFX是一款免費的開源軟件,該軟件在Apache許可證2.0下許可