Codename One 新增对面向通用 Windows 平台的 Java 应用的支持

阅读数:945 2016 年 7 月 4 日 19:00

Codename One 是一个流行的应用开发环境,允许使用 Java 开发各种平台的应用,现在,它又增加了对面向通用Windows 平台的Java 应用的支持。这样,Java 开发人员就可以针对任何安装了Windows 10 的设备进行开发——不管是手机、平板,还是台式机——Codename One 支持的目标平台的数量增加到了8 个。

在移动开发领域,多个竞争平台的存在导致了市场碎片化,开发人员常常需要在两个对立的选项之间作出选择:为每个目标平台(iOS、Android、Windows Phone 等)开发原生应用程序,以更高的开发维护成本为代价提供最佳的用户体验;或者,开发一个面向所有平台的解决方案,通常是以 Web 的形式,这可以更好地利用时间和资源,但放弃了不同平台所特有的优势。类似 Codename One 或 Appcelerator 这样的工具介于两者之间,它们设法提供统一的开发体验,同时又利用了部分平台特有的功能。

截至目前,Codename One 用户使用 Java 开发了应用程序,不需要对源代码做任何修改,就可以创建用于各种平台的安装包,包括 iOS、Android、Blackberry、Windows Phone、JavaScript、J2ME 和桌面。之所以能够做到这一点,其中一个原因是使用了可以面向所有不同平台的构建服务器,并结合了类似 ParparVM 这样的桥接技术。另一方面,借助 Windows 10 及其通用 Windows 平台,微软向设备融合迈进了一步:UWP 应用程序可以安装和运行在任何运行 Windows 10 的设备上,可以是手机、平板或 PC。结合这两个事实,允许 Codename One 以 UWP 作为目标平台将使开发人员的应用程序可以安装在 3 亿台新设备上。

Codename One 使用了 IKVM.NET ,后者是 Mono 和.NET Framework 的 Java 实现,可以以 UWP 为目标平台。IKVM 包含 JVM 和 Java 类库的.NET 实现,以及用于 Java 和.NET 互操作的工具。当以 UWP 为目标平台时,Codename One 会编译 Java 应用程序,并把它和 IKVM 及特定于 Windows 10 的配置设置打包在一起;这可能不如直接使用.NET 开发应用程序好,但好处是可以重用相同的源代码。

这种方法是否会成为主流还有待观察。虽然将相同的代码用于许多平台的观点听起来非常有吸引力,但从 Codename One 的先前版本所引发的反响来看,社区用户似乎有一个共同的看法,就是对 App 有着非常高的期望,而开发人员往往认为,唯一能够满足这种预期的方式是开发原生应用。不出意外,简化将现有 Java 应用移植到 UWP 的过程几乎肯定会增加 Windows 10 平台应用的数量。

查看英文原文 Codename One Adds Support for Java Apps to Target the Universal Windows Platform

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论