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

  • Abraham Marín Pérez
  • 谢丽

2016 年 7 月 4 日

话题:Java.NETWindowsDevOps语言 & 开发架构

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

Java.NETWindowsDevOps语言 & 开发架构