模式是开发中的第一个现实企业级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下许可