Kotlin Multiplatform 的首次使用者調查結果出爐啦

kotliner發表於2021-01-25

Kotlin團隊始終依靠社群的反饋來決定技術的未來,使用者始終是最瞭解如何將 Kotlin 打造成一個更好的工具的角色。

去年11月,我們進行了有史以來的首次Kotlin Multiplatform調查,旨在瞭解該技術的最新變化對開發人員產生了哪些影響。 這項調查得到了社群的積極響應,併產生了1163份答覆和614份完整填寫的調查——本文就是基於這些調查結果分析而來的。我們要感謝所有抽出寶貴時間提供反饋的開發者們。

這項調查的結果使得我們能夠更加全面地瞭解我們的使用者常見的使用方式以及需要解決的問題,以幫助那些使用Kotlin Multiplatform從事個人或大學專案的人員,以及那些正在考慮採用Kotlin Multiplatform的人。

這是同類報告中的第一篇,它將有助於闡明Kotlin Multiplatform的當前狀態。我們還將分享我們對這項技術發展的看法和結論,並披露我們為響應現狀而進行的未來更改和改進的一些計劃。

使用者畫像

有Android背景的開發人員在使用Kotlin Multiplatform的開發人員中佔絕大多數,不過有後端經驗的開發人員的數量也很大。令人驚訝的是,還有多達8%的受訪者來自iOS背景。

我們很高興Android開發人員通過Kotlin Multiplatform的功能增強了他們的知識和技能,這有助於他們超越Android的技術邊界。令人高興的是,這項技術正在吸引來自不同背景的如此眾多的使用者,並且為每個人提供了很多機會。

在61.4%的受訪者有5年以上的開發經驗,由此我們可以推斷:Kotlin Multiplatform對那些具有豐富程式設計知識的人更有吸引力。有這麼多資深開發人員選擇我們是我們的榮幸。不過,如果您仍是中級或初級開發人員,請不要擔心——優化Kotlin Multiplatform的開發體驗,降低它的使用門檻是我們的首要任務。我們還將採取措施逐步幫助初學者也開始使用Kotlin Multiplatform。

Kotlin Multiplatform 的主要使用場景

42.2%的受訪者使用Kotlin Multiplatform在iOS和Android之間共享程式碼。這意味著他們正在使用KMM,後者最近被拆分到一個單獨的專案中,Kotlin團隊對此投入了大量資源以推進它進入了Alpha狀態。此外,移動端+ Web 端、後端+ Web 端的組合也很流行。最出乎意料的是,有16.3%的開發者使用這項技術來覆蓋全平臺,目的就是使其程式碼儘可能通用。JetBrains最近釋出的Space就是使用這項技術支援全平臺案例,它幾乎完全基於Kotlin構建。

Kotlin Multiplatform是開源庫和內部SDK開發者的常見技術。我們很高興看到41.1%的受訪者信任該技術,並使用它線上上產品中共享程式碼。這意味著使用Kotlin共享程式碼不僅可以幫助開發人員以一致而快速的開發流程節省時間和精力,而且確實可以滿足其使用者的需求。

“您認為Kotlin Multiplatform是否已經適用於生產環境?”這是我們最常問到的問題之一。根據調查結果,超過56%的受訪者已經或即將釋出具有共享模組的應用程式。即使Kotlin Multiplatform仍在Alpha階段,但它足以支撐生產需求,全世界各地的公司和獨立開發人員已經體驗到了在平臺之間重用程式碼的便利

移動端跨平臺之間共享程式碼的最主要的場景是資料序列化和演算法,而內部工具、資料儲存和資料同步緊隨其後。您可以在Kotlin Multiplatform Mobile開發人員門戶的案例研究部分中找到有關特定公司及其用例的更多資訊。

KMM旨在幫助開發人員在移動端之間重用其業務邏輯,並且仍然保留 原生 UI。我們也很高興地看到,KMM被用於多種場景,從重用網路邏輯到共享UI。

想要立即上手使用,請參閱有關如何使用共享程式碼庫建立第一個應用程式的分步指南

使用者痛點

沒有什麼是完美的,Kotlin Multiplatform也不例外。 嚴格的Kotlin / Native記憶體模型,工程構建配置,庫以及IDE支援這些問題是令使用者最為頭疼的。我們已經將它們新增到了我們的路線圖中。 我們聽到了使用者的聲音,並將嘗試對這些問題採取一定的措施,以使Kotlin Multiplatform的使用體驗得到不斷改善。

工具支援

超過一半的受訪者使用Android Studio來運用Kotlin Multiplatform的功能。緊隨其後的是IntelliJ IDEA Ultimate和IntelliJ IDEA Community Edition,分別為27.3%和16.7%。我們可以改善開發人員體驗的唯一方法就是基於 IDE 提供更好的工具支援,但是要做到這一點,我們需要更多的反饋和使用資料。我們鼓勵您啟用與JetBrains(如果使用IntelliJ IDEA)和Google(如果使用Android Studio)的統計資訊共享以提供相應的幫助。

52.6%的受訪者願意使用CocoaPods將Kotlin Multiplatform框架匯出到iOS應用程式中。我們對這項技術所獲得的大量反饋感到非常滿意,並且對於如何改善開發人員使用該技術的體驗,有一些很好的想法。

我們驚訝地發現,有25%的人對整合Swift Package Manager感興趣。後續我們將對此予以更多關注,並將重新調整計劃,以便採取進一步措施來滿足使用者的需求。

快速上手

我們非常有興趣瞭解開發人員如何進行他們的第一個Kotlin Multiplatform專案。結果表明,使用IDE嚮導,按照官方分步指南建立專案以及克隆官方示例是開發人員開始探索該技術時最流行的方法。我們很高興看到,開發人員使用了KMM門戶和官方文件幫助他們入門,此外,社群在世界範圍內建立和維護的資源也致力於使人們瞭解如何使用這項技術。

提升開發體驗是我們的首要任務。為了提高廣大開發者對Kotlin Multiplatform的滿意度,我們需要繼續改進和維護現有的文件。從收到的反饋來看,我們的文件主要缺少特定場景的示例,以及可立即應用於生產環境的示例和文章。為了應對這一挑戰,我們建立了文件改進計劃,以減少相關文件的匱乏。這其中首先將重點放在文件尚未覆蓋到的常見的使用者場景上,例如如何開展測試工作;然後再建立手把手的教程和示例,以幫助希望從零建立或者整合這項技術的專案開發人員。

總結

通過首次Kotlin Multiplatform使用者調查收集的所有反饋意見,我們瞭解到我們處在正確的軌道上。這項技術發展迅速,已經幫助許多公司和獨立開發人員在建立面向使用者的應用程式時在平臺之間共享程式碼。

我們也非常高興Kotlin社群能對我們這次試圖瞭解開發人員如何使用Kotlin Multiplatform的嘗試表示歡迎和支援。大家的反饋為我們提供了非常重要的參考價值,也幫助我們明晰了這項技術的發展方向。因此,我們後續計劃定期(大約每年兩次)開展Kotlin Multiplatform使用者調查,以使我們的前進方向與開發者緊密聯絡在一起。

再次感謝所有參與此調查的人!

相關文章