JUniversal:基于 Java 新式跨平臺移動應用方法
從頭開始為各個移動平臺編寫單獨的應用程序比較昂貴。如果您想要為多個平臺創建應用,或者擴展現有應用到所面向的市場上,最有效的方法就是跨平臺重復利用您已有的代碼。如果再此基礎上保留原生用戶界面的效果,那就更完美了。
當然,跨平臺使用代碼肯定是理想的解決方案,但問題是如何實現?當今,什么最吸引致力于構建本機應用程序的 Android 和 iOS 開發者呢?
針對該需求,已經產生了包括 Xamarin 和 Cordova 在內的多種方案。我想特別提出另一種工具—JUniversal,該工具允許您使用 Java 編寫可共享的跨平臺代碼。
概述
JUniversal 的構想來自諾基亞的幾個開發者,他們在 Java 和構建跨平臺應用方面具備相當專業的技能。JUniversal 使翻譯源代碼的工作變得簡潔優雅,且可在多種平臺中使用。該工具允許您使用 Java 自由編寫共享代碼,并將其翻譯成 C#(現已可用)或 C++/Objective C++(即將可用)。您還可以將JUniversal 與 Google 的 j2objc 翻譯器結合,使 Java 翻譯成 Objective-C,供開發 iOS 使用。
除了源翻譯功能,JUniversal 還提供一組稱為 JSimple 的庫,該庫為多數移動應用程序提供支持跨平臺的(非 UI)API 版本。這些應用程序組件如下:
-
OAuth (based on Scribe)
-
JSON
-
Unit testing (JUnit)
-
File & network I/O platform wrappers
-
Collections—HashMap, ArrayList, etc. (based on JDK/Harmony)
-
Logging (based of SLF4J/Logback)
-
About 20K lines currently
為什么需要源碼翻譯?
JUniversal 的主要設計目的是為了保留評論和設置格式,生成的翻譯源可讀性較高,就像手工編寫的。因此,調試程序、探查器和異常堆棧跟蹤等工具都與手工編寫的源代碼工具功能一樣,翻譯的源代碼可與本機代碼無縫結合。語言兼容性較好。
在跨平臺技術這一層面上,JUniversal 因使用原生平臺編程語言(通過語言翻譯)、本機編譯器、本機調試程序和本機 UI 設計工具,因而被評為最輕量和最接近原生環境的工具。至于用戶界面,目的則是通過手工編寫原生代碼而提供最佳用戶體驗。
JUniversal 是免費的
下面是 JUniversal 架構的簡易圖:
在微軟開放技術,我們非常歡迎這類的開發愛好者利用業余時間完成的項目,也希望 JUniversal 團隊能將這一項目堅持下去。絕對是精品!
請各位看官多多支持,并在JUniversal 項目官網 http://juniversal.org 中分享您使用 JUniversal 的經驗并提供反饋。
via 微軟開放技術