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