Java 适用于桌面和移动设备的单一代码库

Java single code base for desktop and mobile

是否有一种或几种基于 java 的技术可以帮助我一次编写应用程序代码库(包括 Logic-Views-Controllers)然后编译并 运行 它用于 所有平台,包括主要桌面和移动操作系统以及 在浏览器中。它也必须在离线模式下工作和保存,以便它可以在连接到互联网后立即与远程服务器同步。对我来说,如果我使用某种 html/css/js 技术来处理我对此类应用程序的视图,似乎必须有一种方法,因为我不需要花哨的操作系统依赖视图技术,并且 java逻辑和控制器。到目前为止,我发现 Oracle ADF Mobile 似乎是商业的,eclipse RAP,eclipse scout ....但我也在寻找涵盖桌面的东西。此外,如果我只能在 Web 浏览器中制作应用程序 运行,以防它 运行 并在离线模式下保存,这对我来说就足够了。

您可以将 Eclipse Scout 与以下 setup/limitations 一起使用:

  • 自 2016 年 6 月起,Scout 仅支持网络 UIs(直到 2015 年 Scout 还支持 Swing/SWT,但现在已不支持)
  • 您需要 运行 本地 Tomcat 中的 Scout 前端模型部分 或类似
  • 您需要添加用于连接 Scout 前端的同步代码 带有 Scout 后端的模型(一旦客户端安装上线就会同步数据)

寻求结合 Java 的移动解决方案很可能会让您陷入困境,尤其是 discontinuation of RoboVM

提示:Scout 团队已开始研究 Scout UI 的 JS 离线功能。然而,这距离生产质量还有几个月的努力(许多 parts/concepts 仍然缺失,并非所有部分都开源,没有文档等)

补充:您将有与 Eclipse RAP 相同的限制(需要前端服务器,仅基于 Web,提示:设计说唱应用程序很难)。

寻找灵丹妙药...请注意 "not caring about something"(OS)会让您非常关心执行 "dirty work".[=13= 的框架]

抛开意见不谈,2016年你会用Java脚本更快地达到你的目标,它已经成为唯一一个到处都支持的东西。
如果您对 JS 没问题,并且生活在异构/不太成熟的工具的最前沿(请参阅 NPM gate),这可能是一笔不错的交易。

Java 在浏览器(小程序)中是 dying soon due to its well documented security issues。有人可能会说它已经死了很长时间了。

如果您只想在 Java 中编写代码,GWT 仍然有效。它将您的 Java 代码编译成高效的 JavaScript。
然而,自从 Google 通过将项目交给指导委员会来减少其参与以来,开发速度急剧放缓,我什至不确定他们是否与 JDK 8 保持同步。
Google 仍然在收件箱等项目中使用 GWT,物有所值。

我会选择 GWT。

Google 也将其用于收件箱网络应用程序和收件箱 android 应用程序等项目。使用 GWT 可以在两个应用程序之间共享大量代码。

也可以编译为 windows 桌面应用程序。