Google發布J2ObjC 1.0:將Java轉換為Objective-C
英文原文:Google’s J2ObjC 1.0 Translates Java into Objective-C
J2ObjC 是一個 Google 開發的開源工具,用于將 Java 代碼轉換為 Objective-C 代碼。其目的是為了能在 iOS 平臺上重用 Android 平臺、web 服務器端的 Java 代碼。服務器端代碼的轉換由 GWT 完成。J2ObjC 并不轉換 UI 代碼,這部分需要針對不同平臺分別開發。
我們在 2012 年發布了 J2ObjC 的 alpha 版本,并公布了部分實現細節。J2ObjC 的逐漸發展到穩定版 1.0 版本,并應用于開發 Inbox、Calendar、Docs、Sheets、Slides 和 Google My Business 等 Google 產品的 iOS 版本。同時,J2ObjC 由 Java 6 升級到 Java 7 和 Java 8,該項目的 Google 工程師 Tom Ball 表示這是為了“支持當前和過去主流的 Java、iOS 和 Xcode 發布版本”。此外,J2ObjC 集成了 JUnit、Mockito、Gradle 和 Maven,并支持通過原生方法將 Objective-C 代碼嵌入 Java 代碼。
在被問到 J2ObjC 對 Java 8 的支持程度時,Ball 告訴我們:
這取決于怎么定義"Java 8"。:-)我們加入了對 Java 8 一些語言特性的支持,如 lambda 表達式和方法索引。但是因為我們的 JRE 運行時基于 Android 的 libcore 庫,所以目前還不支持任何 Java 8 引入的 API。我們計劃與 libcore 團隊定期同步,這樣他們添加的所有 Java 8 支持都能很快地被引入到 J2ObjC 的運行時。
談及未來發展,Ball 補充道:
J2ObjC 主要是一個構建工具,因此會根據使用該工具的應用開發人員的需求來確定未來計劃。我們現在了解到的需求是,他們希望我們持續且快速地支持 iOS 新特性、優化 Swift 互操作性、支持 Java 8 接口、提供更好的工具集成、減少構建次數。作為編譯器開發工程師,我們也會專注于優化生成的代碼和快速修復 bug。
J2ObjC 使用 Apache License 2.0 許可協議。
來自: InfoQ