写点什么

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:005420

评论

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

LinkedList 源码分析-删除

zarmnosaj

5月月更

JavaScript类型转换

源字节1号

thinkphp 中 fetch 方法怎么用

CRMEB

盲盒APP开发的六大功能模式基础设置

WDL22119

盲盒商城 盲盒 盲盒开发 盲盒小程序开发 小程序开发

最优的纯文本模型?GPT-4蓄势待发

OneFlow

人工智能 模型 预测 openai

520,解锁开发者的专属浪漫

葡萄城技术团队

情人节 520

许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

OpenHarmony开发者

OpenHarmony 开发者故事

部署在Azure上的SAS Viya可为客户带来204%的投资回报率

E科讯

这知识点真细,Python获取HTTP响应头和响应体

梦想橡皮擦

5月月更

【直播回顾】OpenHarmony知识赋能第五期第五课——多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

Seata 企业版正式开放公测

阿里巴巴云原生

阿里云 开源 云原生 seata

Google Guava中EventBus使用不当会导致什么故障?

BUG侦探

kafka Guava EventBus

JVM进阶(十七)——类加载阶段解析:准备-解析-初始化

No Silver Bullet

JVM 类加载 解析 5月月更

Wallys/QCN9074 WiFi Card/ IPQ6010/IPQ6018/ 802.11ax

wallys-wifi6

ipq6018

预约直播|阿里云CDP 产品发布会

阿里云大数据AI技术

CDP 产品发布

FinClip 前端之 VUE 核心原理总结

FinClip

使用 jMeter 对需要 User Authentication 的 Restful API 进行并发负载测试

汪子熙

Java Jmeter 性能测试 SAP 5月月更

喜大普奔 | FinClip Hackathon 2022 结果宣布, Top3 项目出炉!

FinClip

年薪80W,在大厂呆了10年的我,被裁得心服口服

博文视点Broadview

比渗透测试更有用,红队演练该如何开展?

青藤云安全

代码重构,真的只有复杂化一条路吗?

华为云开发者联盟

代码 代码重构 过度设计 代码设计

520,用Python定制你的《本草纲目女孩》

华为云开发者联盟

Python 华为云 modelarts 本草纲目女孩 MoXing

如何在 Web 应用里消费 SAP Leonardo 的机器学习 API

汪子熙

机器学习 前端开发 前端框架 SAP 5月月更

一文带你详细了解HarmonyOS折叠屏设计规范!

HarmonyOS开发者

HarmonyOS 折叠屏

Wallys/2.5Gbps Ethernet Port Support OpenWRT Support:QUECTEL /RM500Q-GL&Support:

wallys-wifi6

wifi6 openwrt

青云云原生沙龙线上集结,找到属于你的云原生实践之路!

青云技术社区

FinClip SaaS 版上线啦

FinClip

What? 从小程序反向生成App?!

FinClip

活动预告 | 博云容器云产品族发布会,来了!

BoCloud博云

容器云 活动预告

SUSE Rancher v2.6.5 社区版核心功能解读

Rancher

Kubernetes k8s rancher NeuVector

飞书、钉钉和企微的三巨头之争下,其他厂商在移动平台赛道如何奋起直追?

BeeWorks

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