Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

承香墨影發表於2018-04-18

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

Hi,大家好,我是承香墨影!

自從去年 12 月份,Kotlin 團隊宣佈 Kotlin/Native 支援和 Objective-C/Swift 相互呼叫之後,等於是說,Kotlin 以後將可能支援和 Objective-C/Swift 專案進行混合開發。

這說明以後,我們可以直接使用 Kotlin 來開發 iOS App了。

關於 Kotlin/Native,不瞭解的可以先看看官方文件簡述。

https://kotlinlang.org/docs/reference/native-overview.html

簡單來說,Kotlin/Native 是一種將 Kotlin 編譯為沒有任何虛擬機器支援的原生二進位制檔案的技術。Java 程式碼想在不同平臺執行,還需要依賴各種 JVM 虛擬機器,而 Kotlin/Native 不需要,它直接編譯生成的就是對應平臺上可執行的二進位制檔案。

從文件上看 Kotlin/Native 目前支援的系統平臺有:

  • Windows (x86_64 only at the moment)
  • Linux (x86_64, arm32, MIPS, MIPS little endian)
  • MacOS (x86_64)
  • iOS (arm64 only)
  • Android (arm32 and arm64)
  • WebAssembly (wasm32 only)

可以說 Kotlin/Native 今後的發展潛力還是很巨大的。

今日 Kotlin 團隊又宣佈,正在為 AppCode 開發 Kotlin/Native 外掛,離我們使用 Kotlin 開發 iOS 又近了一步。

AppCode 是專門為 iOS/macOS 開發人員設計的僅限 macOS 平臺的 IDE。它已經支援 Xcode 專案,在模擬器和裝置上執行、除錯,併為 Objective-C 和 Swift 提供更廣泛的支援。

如果你想嚐鮮 Kotlin/Native,需要下載最新的 AppCode 2018.1.1 版本,然後在新增 JetBrains 外掛的頁面,安裝 Kotlin/Native for AppCode 外掛。

需要注意的是,該外掛仍然在積極開發之中,它還有一些不穩定的地方,例如:較高的記憶體消耗。

接下來,我們來體驗一下 Kotlin/Native 的魅力。

建立新專案

Kotlin/Native 使用 Gradle 作為構建工具。想要使用 Xcode 編譯 Kotlin/Native 專案,需要在專案中新增一個 執行指令碼,該指令碼呼叫 Gradle 構建 Kotlin/Native 的程式碼。

讓我們從頭設計一個類似的專案,可能略顯麻煩,所以 Kotlin/Native 外掛自帶幾個 iOS 和 macOS 的模板,可以簡化這個過程:

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

建立完專案之後,在模擬器中構建和啟動它,只需要簡單的點選一下 “Run” 按鈕。

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

需要注意的是:目前 Kotlin 程式碼的目錄,未被標記為 源根目錄,因此某些操作(例如:建立新的 Kotlin 檔案)可能會不正確。要解決這個問題,就需要將 src/main/kotlin 目錄標記為專案原始碼目錄。

Code Insight

AppCode 本身就是基於 IntelliJ IDEA 的 Kotlin 外掛,所以很多 Kotlin 的功能支援,都可以直接用於 Kotlin/Native 程式碼上。例如:程式碼檢查、重構等。

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

測試(Test)

AppCode 外掛支援使用 kotlin.test 框架編寫測試程式碼。

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

SDK文件

Kotlin/Native 本身就是可以呼叫 Objective-C 的標準 API,而且也為此提供了非常便捷的閱讀 API 文件的方法。

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

小結

從本文中可以看出來,目前 Kotlin/Native 已經處於可以 "把玩" 的程度了,不過它依然還有很多功能需要完善。

讓我們期待後續 Kotlin/Native 的新功能吧。

本文素材,部分來自 Kotlin Blog(Roman Belov),由 承香墨影 整理。

https://blog.jetbrains.com/kotlin/2018/04/kotlinnative-plugin-for-appcode/?utm_source=androidweekly&utm_medium=website

今天在公眾號後臺回覆成長『成長』,將會得到我整理的一些學習資料,也能回覆『加群』,一起學習進步。

推薦閱讀:

Kotlin/Native 為 AppCode 開發了個外掛,你可以用 Kotlin 寫 iOS App了!

相關文章