写点什么

Kotlin 1.5 稳定版发布,2021 年第一个大版本更新有何亮点?

  • 2021-05-14
  • 本文字数:1606 字

    阅读完需:约 5 分钟

Kotlin 1.5 稳定版发布,2021年第一个大版本更新有何亮点?

开发工具制造商 JetBrain 发布了 Kotlin1.5.0 稳定版,它是“2021 年的第一个大版本”。此版本提供了稳定的语言特性,例如 JVM records、密封接口 (sealed interface)、内联类 (inline class),并引入了新的默认 JVM IR 编译器 。

Kotlin 1.5.0:2021 年第一个大版本


与 Java 兼容的 Kotlin 被谷歌认可为用于开发 Android 应用程序的官方编程语言。


Kotlin 是在 GitHub 上公开开发的,主要由 JetBrains(流行的 IDE IntelliJ IDEA 的制造商)开发,但谷歌也有贡献。IntelliJ IDEA 是谷歌 Android Studio IDE 的基础,用于构建 Android 应用程序。


作为 2021 年首个大版本更新,Kotlin 1.5 主要亮点包括:


  • 稳定的语言特性:JVM records、密封接口 ( sealed interface )、内联类 ( inline class )

  • 标准和测试库改进:稳定的无符号整数类型、E xtensions for java.nio.file.Path ,以及针对 String、Char 和 Duration API 的改进

  • Kotlin/JVM 改进:新的默认 JVM IR 编译器

  • Kotlin/Native 改进:针对 Linux 和 iOS 应用程序的更快的调试编译

  • Kotlin/JS 的改进:将更多 JS 库迁移到新的 Kotlin/JS IR 编译器


其中,新的 JVM IR 编译器使 JetBrains 能够更快地为其各种实施方案构建新的语言特性,其中包括用于构建 iOS 和 Windows 应用程序的 Kotlin native(Kotlin/Native)、用于构建 Web 应用程序的 Kotlin for JavaScript(Kotlin/JS)以及用于 Java 平台的 Kotlin for JVM(Kotlin/JVM)。


来自 JetBrains 的 Ekaterina Volodko 在一篇博客文章中说:“新的编译器与 Kotlin/Native 和 Kotlin/JS IR 编译器共享了统一的管道和业务逻辑,这使得我们可以同时为所有平台实现大多数特性、优化和错误修复。”


“它还将允许你添加自定义处理和转换,并且可以在所有平台上自动工作。”


JetBrains 表示,已经有超过 25000 名开发者在 IntelliJ IDEA 中试用了新的 JVM IR 编译器。


Kotlin 1.5.0 还提供了对 JVM 记录的支持,以确保作为不可变数据的透明载体的记录类 与 Java 特性的互操作性。记录类在 JDK 16 中被确定下来,并且 JDK 16 在 3 月达到了普遍可用性。


标准库和测试库也有所改进。对于无符号整数类型以及范围、级数和函数,标准库提供了新的稳定性 API。


使用 IntelliJ IDEA 和 Android Studio 的开发者应该会看到一个通知,提醒他们将 Kotlin 将自动更新到 1.5.0。用户也可以手动更新。


Kotlin/Native 获得了对 linuxX64 和 iosArm64 目标的调试模式下的编译器缓存的支持。它还停用了内置的内存泄漏检查器,以避免可能导致应用程序崩溃的问题。


“在启用了编译器缓存后,除第一个外,大多数调试编译都会更快地完成。测量结果显示,在我们的测试项目中,速度提高了大约 200%,”JetBrains 说。

获得谷歌力推的 Kotlin


自从 2019 年对外宣布 Kotlin 编程语言是 Android 应用程序开发人员的首选语言,谷歌就一直在对 Kotlin 进行多方位的支持,不仅推出了 Kotlin 免费在线课程,而且开源了 gRPC-Kotlin/JVM,开发者可以在 Kotlin 项目中更方便地使用 gRPC,以更简单的方式构建可靠的网络连接服务。


2021 年,谷歌推出了使用 Kotlin 语言开发 Android 应用的全新课程,由浅入深、循序渐进地帮助用户学习 Android 应用开发。这套课程取代了 2018 年发布的课程,同时课程内容也结合了 Android 平台的变化,例如 Android Jetpack 库的发布等。


2020 年,谷歌开源了 gRPC-Kotlin/JVM。gRPC 是一个开源的高性能、通用 RPC 框架,支持多种编程语言。gRPC 基于 Protocol Buffers,面向移动和基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。gRPC 与 Kotlin 结合之后,从移动应用程序到云端微服务,开发者都可以构建。gRPC-Kotlin/JVM 构建在 gRPC 的 Java API 之上,提供了对 Kotlin 友好的 gRPC 类,支持 Kotlin 协程。


参考链接:


https://www.tectalk.co/kotlin-programming-language-heres-whats-inside-the-first-big-release-of-this-year/

2021-05-14 08:004654

评论

发布
暂无评论
发现更多内容

【51单片机】矩阵键盘

謓泽

3月月更

Centos7安装单机版Redis

云原生

redis Redis 数据结构

PHP session反序列化漏洞原理解析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

电商系统微服务拆分

风中奇缘

#架构实战营 「架构实战营」

拆分电商平台为微服务

smile

电商系统微服务架构拆分

李大虾

#架构实战营 「架构实战营」

到底为什么不建议使用SELECT *?

蝉沐风

MySQL

我的前端技术思考

PingCode研发中心

架构 Worktile angular dialog PingCode

电商系统的微服务拆分方案设计

五月雨

架构实战营 「架构实战营」

毕业总结

圈圈gor

架构实战营 「架构实战营」

解决QT编译Android程序不支持openssl问题

DS小龙哥

3月月更

毕业设计 - 电商秒杀系统

圈圈gor

#架构实战营 「架构实战营」

设计一款照片一键加水印的小工具

DS小龙哥

3月月更

毕业总结

AUV

「架构实战营」

架构实战营 模块九

架构实战营 「架构实战营」 模块九

架构实战营毕业总结

架构实战营 「架构实战营」

kratos 微服务框架商城实战初识 kratos

Aliliin

Go Kratos

Orbiton JS:用于构建 UI 的 JavaScript 库

devpoint

JavaScript 3月月更 Orbiton JS

架构训练营毕业总结

沈益飞

架构训练营 架构师训练营 4 期

作业六

Geek_f3e842

架构实战营

模块6作业:电商系统微服务拆分

炎彬

「架构实战营」

KCP协议:从TCP到UDP家族QUIC/KCP/ENET

zhoulujun

网络加速 KCP 游戏加速 quick 带宽优化

Flink对接kafka

云原生

flink kafka 流计算 实时计算

关于DDD的一些思考

meacial

DDD 架构设计 领域模型

架构实战营四期-毕业设计

木几丶

「架构实战营」

架构实战营四期-毕业总结

木几丶

「架构实战营」

电商系统微服务拆分

张逃逃

架构实训营模块一作业

michael

架构实战营 「架构实战营」

模块九毕业设计

沈益飞

架构训练营 架构训练营4

模块一作业

Dean.Zhang

架构实战营

模块六

Geek_28cf33

Kotlin 1.5 稳定版发布,2021年第一个大版本更新有何亮点?_架构_TecTalk_InfoQ精选文章