Kotlin Multiplatform 稳定吗?
Kotlin 语言本身很稳定,自 2016 年以来被广泛使用。KMP 工具集在几年内一直处于 Beta 阶段,并于 2023 年 11 月正式转为稳定版本。它现在是一个完整的生产就绪解决方案。目前唯一处于 Alpha 阶段的是 Compose Multiplatform,它使我们能够与其他平台共享 UI 组件。
KMP 与 KMM:有什么区别?
当您在互联网上搜索有关 KMP 的信息时,您可能会注意到人们有时会使用不同的名称:KMM,这是 Kotlin Multiplatform Mobile 的缩写。您只需知道 KMM 这个名称不再使用,它与 KMP 本身没有什么不同。
以突出使用 Kotlin 在 Android 和 iOS 移动平台之 巴拉圭电话号码资源 间共享代码的价值。2023 年 7 月,这个名字被正式废弃。现在,KMP 是指代这项技术的首选术语。
Kotlin Multiplatform 与其他跨平台解决方案有何不同?
当我第一次与人们谈论 Kotlin Multiplatform 技术时,他们通常会问我同样的问题:
为什么我们需要下一个多平台解决方案?毕竟,我们已经有了众所周知且久经考验的 Flutter 和 Reactive Native,对吧?
这个问题完全有道理,因为我们期待下一个先进的单一代码库框架,类似于我们已经知道的框架。然而,KMP 走了一条与以往不同的路。
每个人都想取代原生应用
多年来,许多公司和工程师都尝试寻找构建移动应用程序的替代方法。我们已经看到了渐进式 Web 应用程序,然后用Cordova或Ionic构建的混合应用程序。如今,Flutter和React Native占据了主导地位。
它们都代表了略有不同的方法,但它们也有一个共同点——它们都希望取代原生应用和原生编程。这些解决方案引入了新语言、新架构、自己的工具和许多专用的开源库——简而言之,就是整个生态系统。这意味着它们还需要新技能,因此,我们有了 React Native 和Flutter 开发人员。
KMP 旨在改进原生应用程序
Kotlin Multiplatform 的工作方式则完全不同。首先,它不会引入任何新框架或编程语言。开发人员使用的是他们已经非常熟悉的 Kotlin。
然后,借助 Kotlin 编译器,通用代码被翻译成 Android、iOS、Web 等平台专用代码。最后,我们只需在原生应用程序中使用这些代码即可。就这么简单!
灵活性高,风险低
与其他解决方案不同,KMP 不会将我们带入一个单独的生态系统。我们仍然会构建常规的原生应用程序,并决定要在多个平台上共享哪些部分的代码。
Kotlin Multiplatform 及其共享代码的可能性
资料来源:2021 年第三季度至第四季度 Kotlin 多平台现状调查
如果某些功能无法在通用代码中实现,我们只需在本机实现它。如果我们想使用某些系统 API 或本机工具,我们就这么做。而且,如果您在任何时候决定这项技术不是您项目的正确选择,总有办法解决。我们可以只在 Android 上使用 Kotlin,并独立开发 iOS 应用。与其他解决方案相比,这种高度灵活性使 KMP 的风险更低。