最近的Kotlin 1.4 正式版,貌似很牛逼!
开发者全社区
共 6083字,需浏览 13分钟
·
2020-10-22 05:18
作者:技术最TOP
链接:http://dwz.date/cfsk
在过去的几年里,我们一直在努力使 Kotlin 成为一种有趣、令人愉快且高效的编程语言。为了借助此版本的 Kotlin 继续追求这一目标,我们投入了大量精力和努力来提高 Kotlin 及其工具的性能和质量。我们也很兴奋地宣布支持多种新的语言功能,包括期待已久的 Kotlin 接口的 SAM 转换。
服务器端:Atlassian、Adobe、ING Bank; Android:Google Home、Duolingo、Zomato; 多平台移动端:VMware、PlanGrid 和 CashApp、Mirego 的 Trikot; Web:JetBrains 的 Space、Karhoo、MIPT 核物理方法实验室的 VisionForge。
Kotlin 1.4 在线活动
IDE 新功能
新的编译器
更强大的新类型推理算法默认启用。它可以在更多用例中自动推理类型,即使在复杂的场景下也支持智能转换,改进了委托属性的推理,等等。 新的 JVM 和 JS 后端以 Alpha 模式提供。一旦稳定下来,它们就会成为新的默认设置。
Kotlin 接口的 SAM 转换 库作者的显式 API 模式 混合命名和位置参数 尾随逗号 可调用的引用改进 在循环的 when
内使用break
和continue
ArrayDeque
,等等。stdlib
的依赖关系。从 Kotlin 1.4.0 开始,此依赖关系默认添加。我们正根据大家的反馈逐步改进 kotlinx.coroutines。 序列化库越来越接近成熟。kotlinx.serialization 1.0.0-RC 版本今日发布! 我们已经发布了 DateTime API 预览版,即处于实验阶段的 kotlinx-datetime 库。
Kotlin/JVM
我们添加了新的实验方法,用于在字节码的接口中生成默认方法(对于 Java 8 目标)。 我们为null 检查引入了统一的异常类型。 Kotlin现在可以在 JVM 字节码中生成类型注释,以便它们在运行时可以在 Java 反射中使用。该功能适用于目标版本 8 及更高版本,到目前只在实验模式下被发布。
新的 Gradle DSL 添加了对从 DSL 配置 CSS 和样式加载器的支持,它包括与 npm 依赖项管理相关的各种改进,并改进了对 Dukat 集成的控制。 全新的 Kotlin/JS 编译器后端给 Kotlin/JS 指明了未来的方向。它包括优化和功能,例如从 Kotlin 代码自动生成 TypeScript 定义、更小的二进制文件和捆绑包、向 JavaScript 公开 Kotlin 功能的现代化方式,等等。
Kotlin/Native 编译和执行的整体性能提升。 Kotlin/Native 和 Swift / Obj-C 之间互操作性的改进。 简化了 CocoaPods 依赖项管理。
得益于分层项目结构,您现在可以在目标的特定子集(例如类似的 iOS ARM64 设备目标和 x64 模拟器目标)之间共享代码。 您可以使用在多个原生目标之间共享的通用代码中与平台相关的库。 您可以在共享源集中仅指定一次依赖项,而不是在共享和平台专用源集中同一库的不同变体上指定依赖项。 我们继续开发 Kotlin 库格式 Klib,这种格式在后台用于共享多平台库。
自 Kotlin 1.3 以来最热心的问题报告者
kotlinx.coroutines 版本: 1.3.9
kotlinx.serialization 版本: 1.0.0-RC
ktor 版本: 1.4.0
kotlinx.atomicfu 版本: 0.14.4
kotlinx.html 版本: 0.7.2
kotlinx-nodejs 版本: 0.0.6
kotlin-wrappers
( kotlin-react
等)的库版本。评论