Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

引言

在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生产稳定性意味着开发者们可以更加自信地利用该框架进行跨平台开发,同时也标志着KMP在行业中迈出的坚实一步。

Kotlin Multiplatform是一种跨平台开发框架,凭借其出色的特性和灵活性,迅速获得了包括麦当劳、Netflix和飞利浦等多家公司的青睐。然而,在此之前,该框架一直处于beta阶段或早期生产使用阶段。虽然已经有许多公司成功地使用了这个框架,但直到现在,KMP都没有达到正式的生产稳定性。而现在,随着Kotlin版本1.9.20的发布,KMP终于迎来了稳定版本。

新特性和改进

KMP稳定版本带来了许多令人振奋的新特性和改进,其中最重要的是向后兼容的保证。这意味着开发者们可以放心地升级到最新版本,而无需担心与之前的稳定版本不兼容的问题。

此外,Kotlin 1.9.20还带来了一个重大的更新,即Gradle设置的简化。过去,配置KMP需要一系列繁琐的设置步骤,尤其是在为iOS开发创建子目标时。然而,有了默认的层次结构模板,使用Kotlin 1.9.20后,设置流程得到了显著简化。这极大地提高了开发者的效率,使他们能够更快速地构建和部署跨平台应用程序。

之前,在声明目标平台时,如果我们想创建一些子目标,比如在MacBook上开发面向iOS的应用程序,同时支持Intel和Silicon芯片,我们需要使用以下设置:

kt 复制代码
kotlin {
..
iosX64()
iosArm64()
iosSimulatorArm64()

sourceSets {
    ..
    val iosX64Main by getting
    val iosArm64Main by getting
    val iosSimulatorArm64Main by getting
    val iosMain by creating {
        dependsOn(commonMain)
        iosX64Main.dependsOn(this)
        iosArm64Main.dependsOn(this)
        iosSimulatorArm64Main.dependsOn(this)
    }
}
}

但是,有了默认的层次结构模板,使用Kotlin 1.9.20,设置可以简化为以下形式:

kt 复制代码
kotlin {
iosX64()
iosArm64()
iosSimulatorArm64()
// 不再需要显式声明iOSMain源集
}

展望未来

KMP稳定版本的发布为跨平台开发带来了更多的机遇和潜力。开发者们可以利用这个框架在不同的平台上共享代码,并通过一次开发实现多个平台的覆盖。这不仅降低了开发成本,还加快了产品的上市时间。

未来,我们可以期待KMP进一步发展和壮大。随着更多公司采用该框架并提供反馈,JetBrains团队将有更多的机会改进和优化KMP,以满足广大开发者的需求。

结论

Kotlin Multiplatform的稳定版本发布是跨平台开发领域的一个重要里程碑。它为开发者们提供了更可靠、更高效的工具,使他们能够更好地实现代码共享和跨平台部署。我们期待着在未来看到更多基于KMP开发的创新应用程序的出现,并相信这个框架将继续在行业中发挥重要作用。

参考

https://kotlinlang.org/docs/whatsnew1920.html#see-the-full-hierarchy-template

https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/

https://kotlinlang.org/docs/components-stability.html

相关推荐
扎克begod2 分钟前
JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析
java·开发语言·python
code bean10 分钟前
【C#基础】函数传参大总结
服务器·开发语言·c#
阳光阿盖尔19 分钟前
EasyExcel的基本使用——Java导入Excel数据
java·开发语言·excel
蔚一22 分钟前
Java设计模式—面向对象设计原则(三) -----> 依赖倒转原则DIP(完整详解,附有代码+案例)
java·开发语言·设计模式·intellij-idea·依赖倒置原则
liang899927 分钟前
SpringSecurity原理解析(七):权限校验流程
java·开发语言
LQS202027 分钟前
基于Python实现一个浪漫烟花秀
开发语言·python
QXH20000029 分钟前
数据结构—单链表
c语言·开发语言·数据结构
梅如你29 分钟前
python批量对遥感影像进行归一化与数据清洗
开发语言·python
imaima66630 分钟前
数据结构----栈和队列
开发语言·数据结构
sinat_2765225734 分钟前
C++中move的使用
开发语言·c++