概要:為了解決過去兩年長期困擾眾多 Kotlin 開發(fā)者的命名不一致和縮寫混亂問題,我們將棄用“Kotlin Multiplatform Mobile”(KMM) 產(chǎn)品名稱。
從現(xiàn)在開始,無論目標(biāo)組合如何,“Kotlin Multiplatform”(KMP) 都是跨平臺共享代碼的 Kotlin 技術(shù)的首選術(shù)語。
【資料圖】
Kotlin Multiplatform 起源
Kotlin Multiplatform 在KotlinConf 2017上以“Kotlin Multiplatform Projects”名稱發(fā)布,最初支持 JVM、Native 和 JS 目標(biāo)。 我們很快就吸引了一批早期采用者,他們主要使用縮寫“KMP”,較少使用“MPP”。
2020 年前,這項(xiàng)技術(shù)都處于實(shí)驗(yàn)階段,團(tuán)隊(duì)根據(jù)早期采用者的反饋進(jìn)行調(diào)整。
2020 年,我們將重點(diǎn)轉(zhuǎn)向 iOS 與 Android 之間的代碼共享,這是最常見的用例。我們希望吸引更多移動開發(fā)者使用 Kotlin Multiplatform,利用他們的反饋增強(qiáng)技術(shù),準(zhǔn)備進(jìn)行更多改進(jìn),包括更好地支持其他目標(biāo)。
為了反映這一重點(diǎn),我們將 Kotlin Multiplatform 中 iOS 與 Android 之間代碼共享相關(guān)的所有內(nèi)容拆分為一個名為“Kotlin Multiplatform Mobile”的獨(dú)立產(chǎn)品,為其引入縮寫 KMM,并宣布了Alpha 版本。
同時,我們還發(fā)布了適用于 Android Studio 的 Kotlin Multiplatform Mobile 插件。
問題
雖然新 Kotlin Multiplatform Mobile 名稱的 Alpha 版本引起了關(guān)注,但它也帶來了混亂,因?yàn)殚_發(fā)者不確定如何稱呼在 iOS 與 Android 之外共享代碼的技術(shù)。
某些現(xiàn)有社區(qū)內(nèi)容和庫的名稱中也包含“KMP”,進(jìn)一步加劇了這種混亂,導(dǎo)致生態(tài)系統(tǒng)具有多個名稱 – Kotlin Multiplatform 和 Kotlin Multiplatform Mobile – 以及縮寫 KMP、KMM 和 MPP。這使內(nèi)容更難查找,還讓人們產(chǎn)生 Kotlin Multiplatform 主要用于移動代碼共享的誤解。
解決方案
為了解決過去兩年長期困擾眾多 Kotlin 開發(fā)者的命名不一致和縮寫混亂問題,我們將棄用“Kotlin Multiplatform Mobile”產(chǎn)品名稱。
從現(xiàn)在開始,無論平臺組合如何,“Kotlin Multiplatform”(KMP) 都是跨平臺共享代碼的 Kotlin 技術(shù)的首選術(shù)語。
KMP 非常適合跨多個平臺共享代碼,而不僅僅是 iOS 和 Android。利用它,您還能夠與桌面和服務(wù)器端共享代碼。
此外,我們正在積極開發(fā) Kotlin/Wasm,旨在促進(jìn)使用 Kotlin Multiplatform 的現(xiàn)代 Web 開發(fā)。
配合Compose Multiplatform(現(xiàn)在支持 Android、桌面、iOS (Alpha) 和 Web(實(shí)驗(yàn)性))使用時,您將擁有更多自由,并且可以完全在 Kotlin 中選擇共享 100% 的代碼庫。
JetBrains 的目標(biāo)是為 Kotlin Multiplatform 和 Compose Multiplatform 提供進(jìn)一步改進(jìn),使這一組合成為平臺間共享代碼的終極選擇。
共同向前邁進(jìn)
我們要感謝 Kotlin Multiplatform 生態(tài)系統(tǒng)中的每一位內(nèi)容創(chuàng)作者和庫作者。KMP 的發(fā)展和成長離不開您為構(gòu)建內(nèi)容和庫所做的貢獻(xiàn)。
我們建議您在現(xiàn)有和未來的內(nèi)容和庫中采用“Kotlin Multiplatform”(KMP) 這個名稱。 統(tǒng)一術(shù)語將簡化新用戶的入門流程,并幫助 KMP 進(jìn)一步發(fā)展。 我們重視您的付出,感謝您的持續(xù)貢獻(xiàn)。
關(guān)鍵詞: