明天就是JC Conference了
來應景一下來個番外篇
分享一下最近學到的新知
Kotlin跨平台開發在最近幾乎成為所有寫kotlin的工程師們必備口頭禪
而幾個專有名詞也是常常會聽到的像是Kotlin Multiplatform、Kotlin Multiplatform Mobile、Compose Multiplatform
究竟這些有什麼不一樣?
什麼是Kotlin Multiplatform?
Kotlin本身就是一個可以寫多平台的語言,可以讓不同平台(ex: iOS、android、destop)共享部分程式碼以及業務邏輯。
Kotlin Multiplatform Mobile v.s. Compose Multiplatform
Kotlin Multiplatform Mobile方便你可以在一個專案裡同時寫iOS和android,為了要做到這件事,JetBrains提供了一個plugin可以裝在IntelliJ IDEA或Android Studio,讓你可以快速建立一個支援手機雙平台的架構,共享底能的業務邏輯,在各自實作UI介面(iOS一樣要用Swift來寫,android就是xml或compose)。其實這底層核心概念就是Kotlin Multiplatform,只不過他是強調在手機跨平台應用。
那Compose Multiplatform又是甚麼呢?同樣式實現Kotlin跨平台的概念,不同的是這裡要強調可以讓compose這個UI library跨到web或desktop上。以Android工程師開發來說就是用Jetpack Compose,Jetpack Compose是Google推出的新一代聲明式 UI 工具包,完全基於 Kotlin 打造。 JetBrains以Jetpack Compose為基礎,相繼提供了 compose-desktop和compose-web的plugin,使Compose可以運行在更多不同平台。
這樣聽起來感覺就是我可以用一個專案同時應用在iOS、android、destop上嗎?沒錯是可以的。