Kotlin 更新了Roadmap,未来会有哪些新变化?

在这里插入图片描述

Kotlin的Roadmap每半年会进行一次更新,从中开发者可以观察到Kotlin团队未来的规划和工作重心。
近期Kotlin又更新了Roadmap,让我们看一下Kotlin团队未来又规划了哪些新项目。

全新的Kotlin编译器

为了提高Kotlin编译性能,Kotlin团队计划重写编译器前端,待重写完成编译速度将有望翻倍。为了配合新的编译器前端架构,现有的JVM、JS等编译器后端也需要重新实现。新的JVM后端已于近期完成并发布,其他工作还在进行中。此外,新的编译器将提供更好用的 Compiler Plugin API,允许开发者自定义更多编译期任务

新语法特性: Sealed whens,Multiple receiver等

语法方面未来会增加更多新特性。比较有代表性的是KT-12380Sealed whens 以及 KT-42435Multiple receivers

  • 目前当Sealed Class用在when语句中时,不强制写出所有branch,允许出现else,很多开发者认为这不够安全,希望能语法上强制写出所有分支。
    JackWharton 甚至单独写了Plugin 来补充这种强制。未来 Sealed Class 的 when 语句必须写全所有的branch,保证代码的安全性。

  • 有时可能会定义这样的接口:

interface Extension
interface Context { // Context is a dispatch receiver
    fun Extension.f() // Extension is an extension receiver
}

这里暗含的语义是,f()必须在Context的环境中才能调用, 这里就会出现多个 Receiver, 目前处理这种case只能借助with(),未来也许在1.6中可以期待多receiver语法的出现

增加 WebAssembly 支持

WebAssembly 未来必将成为 Web 开发的新标准,Kotlin 想要在 Web 端发挥价值必须对 Wasm 提供足够支持。Kotlin 官方目前已经组建了 Kotlin/Wasm 的专门团队,首先会对基本函数库以及Gradle提供支持,同时还会新增实验性的 JavaScript 的互操作功能。

新的 Kotlin/Native 垃圾回收器

Kotlin 正在实现全新的垃圾回收器,目前已经完成了原型,接下来会为其增加多线程支持。目前距离第一个版本的完成尚需一段时间,预计今年晚些时候会正式与大家见面。有兴趣的同学可以看一下 Roman Elizarov 刚发布的文章

优化 KMM 中 iOS 工具链

KMM 作为跨平台技术已经被广泛熟知和使用,接下来将持续优化在 iOS 的开发体验。除了底层对 Kotlin/Native 内存模型的优化,还有对于 Cocoapods 集成的体验改善,默认脚本中隐藏 packForXcode 的Gradle构建任务以降低项目搭建成本。

KMM 强化对苹果芯片的支持

鉴于使用苹果自家的芯片设备的市场份额越来越多,KMM 将加大对苹果芯片的支持,包括可以生成直接运行在苹果芯片的二进制代文件扥。另外还计划在 Gradle插件、Kotlinx库 等更多场景中添加对苹果芯片的适配。

进一步提高IDE的性能和稳定性

Kotlin团队将持续优化IDE的使用体验,目前 InteliJ IDEA 和 AndroidStudio 中的Kotlin插件已经使用多达30种的索引方式以加快源码的分析速度和准确性。另外未来还会持续优化Find Usages等常用功能的速度

新的Logo替换

随着1.5的发布,Kotlin升级了全新配色的Logo,形状上虽然与之前的变化不是很大,但是整体上相比小米的新Logo的变化要显得更有诚意。接下来将在所有社区中围绕全新风格的Logo进行升级替换。

image.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fundroid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值