KMM Alpha 後的新面貌

kotliner發表於2021-06-13

Kotlin 移動端多平臺(KMM),一個用於移動端跨平臺開發的SDK,在2020年8月邁入Alpha。 在過去的9個月,KMM生態一直在迅猛發展:

  • 每個新的Kotlin版本都會帶來一系列特性和改善,以提升多平臺開發的體驗。
  • KMM開發工具(例如用於Android Studio的KMM外掛) 會持續收到更新,以讓跨平臺移動應用程式的開發過程更加高效和讓人沉迷。
  • 社群透過建立實用的庫,建立有指導意義的示例以及分享他們在生產中使用KMM的經驗,為KMM生態做出了積極的貢獻。

請繼續閱讀Alpha之後其生態的主要亮點,以免錯過重要更新。 或者,如果您迫不及待想要獲得第一手資訊,請瀏覽KMM文件入口網站以瞭解更多資訊,並嘗試一下!

Get started with KMM


在這篇博文中,您將會看到以下內容的概述:

KMM外掛帶來了什麼新東西?

Android Studio的KMM外掛可以幫助您開發跨平臺應用程式。 您只需點選幾下便可構建新的跨平臺移動應用程式,並且與iOS開發生態系統緊密整合。

穩定且可定製的 iOS 整合

透過 KMM 外掛,您可以直接在 Android Studio上的 iOS 目標上執行,測試和除錯應用程式的 iOS 部分。 自從外掛的第一個版本釋出以來,它對 iOS 的整合變得更加穩定和可配置,並且現在支援最新的 iOS 工具。 請查閱已實現的 iOS 整合改進的完整列表。

靈活的專案嚮導

KMM外掛是使用KMM時邁出第一步不可或缺的工具。 您可以透過外掛的快捷嚮導快速建立新的多平臺專案,或將多平臺模組新增到現有專案中。

外掛的最新版本允許將 Cocoapods 整合用於新的 KMM 專案和模組。 您要做的僅僅是提供一個額外的 KMM 模組描述,該外掛將生成所有必需的配置程式碼。

有關 KMM 外掛中的新功能和改進的完整列表,以及安裝說明和相容性詳情,請訪問 KMM外掛發行頁面。

KMM 為 Kotlin 帶來了什麼新東西?

KMM 基於 Kotlin 的多平臺特性,並透過 Kotlin/JVM 和 Kotlin/Native 生成平臺工件 —– Android 的 .jar 和 iOS的 .framework。 每次 Kotlin 的更新都會改善開發人員透過 KMM 構建跨平臺移動應用程式的體驗。

Kotlin/Native 對 iOS 更好的整合

Kotlin/Native 團隊專注於KMM社群最期待的特性 —— Kotlin Native 新的記憶體管理方案。 我們計劃在 2021 年夏末前展示新記憶體管理設計的開發預覽。 在 Kotlin/Native 記憶體管理更新博文中閱讀該專案的詳細狀態。

儘管我們在實施新的記憶體管理方案上取得了重大進展,但我們也沒有遺忘使用 Kotlin/Native 進行 iOS 開發的其他功能:

穩定的適用於多平臺專案的工具

只有穩定的工具,才能讓您體驗到不同型別專案的樂趣。 在 KMM 邁入 Alpha 並引入了大量多平臺新特性後,Kotlin 多平臺團隊致力於改善多平臺專案的前端和 IDE 匯入的穩定性。 我們已經修復了在 IDE 的多平臺專案中工作時,會導致“紅色程式碼”的許多問題。 我們將繼續改善多平臺開發者的體驗,為了做到這一點,我們需要您的反饋。 如果您有幾分鐘的時間,請將發現的所有問題報告給我們的問題跟蹤器——YouTrack

當然,這些只是主要亮點。 要檢視 Kotlin 所提供的用於多平臺移動應用程式開發的所有新功能簡介,請檢視 KMM 文件門戶中的 What’s new in Kotlin for KMM。 該頁面會隨著 Kotlin 的版本更新,因此您不會錯過任何重要新聞!

社群有什麼新的訊息?

社群是任何技術生態的核心。 您一定是我們靈感和反饋最大的來源! 自第一個版本釋出以來,全世界的開發者一直透過分享他們在生產專案中使用 KMM 的經驗,以及建立有用的庫和示例專案來支援 KMM 的生態。

KMM 日漸增長的庫

KMM 庫的數量在不斷增長,這意味著您能找到最適合您專案要求的庫:

  • Realm 是易於使用的開源本地資料庫,現在擁有新的 Kotlin Multiplatform SDK。 瞭解新 SDK 開發的關鍵設計原則。
  • Decompose 可幫助您在 KMM 更多地共享程式碼。 Decompose 為 Kotlin Multiplatform 提供了具有路由功能和可插拔式 UI 的生命週期感知業務邏輯元件。 得益於 KMM 的靈活性,以及允許您選擇程式碼庫裡要共享的範圍,因此您無需將其使用範圍限制為專案的核心層或業務層,而是透過像 Decompose 這樣的庫幫助您達成目標。

KMM 開發人員還有許多待解決的需求,這意味著庫作者有很多機會。 思考一下如何學習構建和釋出多平臺庫,並加入這個迅猛生長的生態!

新的示例專案

示例專案對於技術的第一手體驗可能非常有幫助。 到目前為止社群做出了巨大的努力,您可以根據分享的程式碼場景選擇一個示例專案或全部都嘗試一下:

  • D-KMP 示例演示瞭如何與 KMM 完全共享 ViewModel(包括導航層),如何實現 MVI 和 CQRS 模式,以及如何使用最新的適用於 Android 的 Compose 和適用於 iOS 的 SwiftUI 的宣告式 UI 工具套件。
  • multiplatform-redux-sample 顯示瞭如何使用 KMM 和 ReduxKotlin 構建跨平臺應用程式。
  • 著名的 people-in-space 專案是 Kotlin Multiplatform 完整技術最有力的展示。 除了共享所有業務邏輯並使用現代化移動UI工具套件之外,它還使用了 Compose Desktop,因此您可以在PC上執行這個示例應用程式!

最新的Kotlin多平臺使用者調查顯示,社群最受歡迎的是更復雜的示例,這就是為什麼我們引入了來自官方 KMM 團隊KMM生產示例 。 它是一個簡單的 RSS 閱讀器,您可以從 App Store 或 Google Play 下載。 旨在演示如何在實際的生產專案中使用 KMM,它提供了全面的 readme 並展示了其架構,因此您可以在專案中應用這些方案。

受益於 KMM 的團隊故事

透過 KMM 在移動平臺之間共享程式碼,這在全球的公司和個人開發者中變得越來越普遍:

  • Netflix切換到了Kotlin Multiplatform Mobile,以最佳化其studio應用程式的可靠性並提高其迭代速度。
  • Philips也在使用KMM來加快新功能實現的速度。 他們還讓團隊中Android和iOS開發者之間實現了更多的互動。
  • KMM正在幫助Down Dog在所有平臺上同步上線功能,提高開發速度並減少錯誤的數量。 團隊甚至將大部分iOS平臺的程式碼從Swift遷移到了Kotlin。他們現在除了5個Swift檔案外,整個專案都在Kotlin中。

請檢視 KMM 門戶的案例研討部分,以瞭解來自各行各業公司以及個人開發者的更多鼓舞人心的故事。

KMM 門戶帶來了什麼新東西?

在開發 KMM 的同時,我們將繼續發展文件門戶,讓其成為您的日常幫手:

  • 新的FAQ頁面是您KMM之旅的優秀起點。 它包括對最常見問題的解答,例如如何在Windows上使用KMM。 如果您的問題未被覆蓋,請告知我們!
  • 新的步驟指南將幫助您讓現有的Android應用程式實現跨平臺,並允許在Android和iOS上使用。 請不要等到新專案的啟動,才去享受跨平臺的優勢!

閱讀文件不是瞭解 KMM 的唯一途徑。 Kotlin YouTube 頻道上新的“Kotlin Multiplatform Multiverse”系列影片,涵蓋了諸如建立新專案和透過 Ktor 進行網際網路開發等入門主題,因此您可以輕鬆地躺在沙發上開始深入瞭解 KMM。

接下來可以期待什麼?

這9個月非常充實! 但是,未來會更好,因為KMM 仍然是 Kotlin 團隊的最優先任務之一

下一個重要且期待已久的里程碑是 KMM 邁向Beta。 我們正在為此制定詳細的計劃,並將在Beta公告之前釋出單獨的博文,介紹 KMM 即將實現的相關任務內容。 其中大多數正在開發中,包括在 Kotlin Multiplatform 工具中支援 Apple Silicon 目標新的垃圾收集器原型。 有關我們當前優先順序的更多資訊,請參見 Kotlin 藍圖

我們很高興看到社群不斷壯大,並且 KMM 被全世界越來越多的公司所採用。 立即加入我們的移動跨平臺啟程冒險!

Get started with KMM

更多的閱讀和觀看資料

在 YouTube 觀看 Kotlin:

閱讀 Kotlin 部落格:

Learn more from the Kotlin and KMM docs:

相關文章