写点什么

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

评论

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

构建动态财务模型,打造商业化的全面预算管理模式

智达方通

业务场景 全面预算管理 财务模型

PHP快速使用RabbitMQ实现项目中部分业务的解耦

北桥苏

php RabbitMQ thinkphp

快速地找到任何文件或文件夹:Find Any File Mac版

真大的脸盆

Mac Mac 软件 文件搜索 搜索文件 文件查找工具

windows下docker的安装与镜像的制作提交

北桥苏

Docker Docker 镜像

不服不行!Github爆火的「高并发秒杀顶级教程」,先睹为快

做梦都在改BUG

Java 高并发 秒杀系统

做共享电动车找哪家工厂生产电动车?

共享电单车厂家

共享电动车厂家 共享电单车生产 工厂生产电动车 共享电动车找哪家工厂 本铯共享电动车厂家

英特尔 x 波士顿咨询:打造嵌入式安全技术GenAI解决方案,满足企业实际需求

科技之家

设计原则 — D 依赖反转原则

Lemoon Can

依赖反转原则 设计原则 依赖反转

最高5W奖金!百度“墨客”挑战邀请赛再启

百度安全

宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ

北桥苏

RabbitMQ AMQP php-amqplib

简单学习一下 MyBatis 动态SQL使用及原理

做梦都在改BUG

Java mybatis

Confluence(知识库软件)和腾讯文档(多人协作文档软件)的区别

爱吃小舅的鱼

Confluence PingCode 文档管理工具

Avive World算力挖矿系统开发技术

薇電13242772558

算力

如何使用appuploader制作描述文件​

雪奈椰子

网络中的数据传输模式有哪些-镭速

镭速

NFTScan: 蓝筹 NFT 跌幅严重,如何保持竞争力?

NFT Research

如何注册appuploader账号​

雪奈椰子

Electron登录注册桌面应用源码+安装文件的打包方法

北桥苏

JavaScript Electron electron实战

什么是Bundle ID​

雪奈椰子

如何注册appuploader账号​

雪奈椰子

如何使用appuploader制作apple证书​

雪奈椰子

phpstorm开发项目中5种常用的使用方法

北桥苏

php PHPStorm

PoseiSwap:合规、隐私与支持更广泛的资产

西柚子

2023年报业网络安全等级保护定级流程

行云管家

网络安全 等级保护 报业

这套Github上40K+star面试笔记,可以帮你搞定95%以上的Java面试

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

袋鼠云产品功能更新报告05期|应有尽“优”,数栈一大波功能优化升级!

袋鼠云数栈

大数据 hadoop 数据中台

PHP高并发高负载下的3种实战场景解决方法

北桥苏

php 高并发优化 thinkphp

如何使用appuploader制作描述文件​

雪奈椰子

不到1分钟,帮你剪完旅行vlog,火山引擎全新 AI「神器」真的这么绝?

字节跳动技术范儿

字节跳动 算法 计算机视觉 云服务 火山引擎

并发编程-ReentrantLook底层设计

做梦都在改BUG

Java 并发编程 ReentrantLook

OSS云文件列举分页

北桥苏

php OSS 分页 上传 thinkphp

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