为了协助社区的小同伴们更好地了解 Kotlin 相关的最新动态,我们决定运用月报的方式,收拾展示最近一个月的 Kotlin 技能动态。

月报的首要内容包括:收拾展示最近一个月的最新技能动态,精选博客,精选视频以及社区活动等方面的信息。

最新动态

Kotlin 2.0.0-Beta4 版本发布

What’s new in Kotlin 2.0.0-Beta4

Kotlin 2.0.0-Beta4 版本已发布,具体包括以下内容:

  • K2 编译器的稳定性持续提高,自 1.9.20 起,K2 编译器的一切 target 都达到了 Beta 状况。
  • Gradle 构建工具方面的改进
  • Kotlin/JS 支撑类型安全的纯 JavaScript 方针
  • Kotlin/JS 支撑运用 npm 作为包管理器
  • Kotlln/JS 支撑导出 List, Map, Set 等调集类型

Amper 2024 年 2 月更新

Amper 是 Jetbrains 开发的一个项目配置工具。它的方针是改进项目配置的用户体会和可工具性,即 IDE 内部的支撑,同时提供流通的开箱即用体会。

Amper 0.2.0 版本已发布,并带来了一些新的特性:

  • 支撑 Gradle version catalogs
  • 支撑依靠补全
  • 支撑在 IDEA 中创建 Amper 项目
  • 支撑 Fleet, IntelliJ IDEA, 与 Android Studio 等 IDE

Kotlin 技能月报 | 2024 年 2 月

Jetpack Lifecycle 支撑 Koltin 跨渠道

Jetpack Lifecycle 支撑 Koltin 跨渠道

Lifecycle 库支撑 Kotlin 跨渠道,Lifecycle、LifecycleOwner、LifecycleObserver、Lifecycle.State、Lifecycle.Event 和 LifecycleRegistry 中的核心 Lifecycle API 现在包含在与 Kotlin Multiplatform 兼容的工件中

精选博客

运用 @JsExport 将 Kotlin 导出给 JS 的指南

@JsExport guide for exposing Kotlin to JS

Kotlin/JS 支撑经过 @JsExport 导出 Kotlin 供 JS 调用,但在实际运用中存在着许多限制。本文介绍了如何运用 @JsExport 处理调集类型,Long 类型,接口,枚举,Sealed classes,挂起函数等内容的导出。

Kotlin 云端差分缓存技能

字节团队在项目切换到 Monorepo 计划后,因为二进制依靠被切换成了源码依靠,构建耗时呈现了极大的劣化。

本文介绍了因为 Kotlin 编译在全源码 Monorepo 环境中的低效,团队开发了一种云端差分缓存技能。这项技能经过改造 Kotlin Gradle Plugin,完成了当 Kotlin Task 无法射中 Build Cache 时,能够运用云端模糊匹配缓存将全量编译转化为增量编译,然后显著削减编译时刻。

比如只需修改了一个 .kt文件,就无法匹配到缓存。因此能够考虑完成一套模糊匹配的机制:

  • 先根据一些必要参数匹配一组或许符合要求的缓存
  • 然后从这一组缓存中寻觅与当时场景最接近的缓存包来进行运用
  • 将这个缓存包对应的源码与当时源码做 diff,然后将全量转增量,完成增量编译

Kotlin 技能月报 | 2024 年 2 月

感触 Kotlin 函数式编程

函数式编程是最近鼓起的一种编程方式,很多语言都支撑函数式编程,例如:JavaScript、Kotlin、C#等等。和面向方针编程不同,函数式编程有一种独属于数学的美感。纯函数式编程就像一个数学公式,传入特定的入参,即可取得确定的成果。这会给编程者一种让人心安的掌控感,这种掌控感能大大削减编码过程中的过错。

本系列文章以 Kotlin 为例,带大家一步一步探索函数式编程的魅力:

Kotlin 技能月报 | 2024 年 2 月

精选视频

两个 this 一重用?Kotlin 的成员扩展函数和 implicit receiver

本视频深入浅出地讲解了 Kotlin 中的隐式接收者(implicit receiver)概念。这是一个在 Kotlin 编程中极为常见的特性,尽管您或许未曾耳闻这一术语,但实际上您在编码时或许已经多次应用过。

Kotlin 众多高档特性,如协程中就很多运用了隐式接收者。因此,了解隐式接收者的实质、把握其用法以及如何充分运用其在编程中的潜力,关于我们提高编程技能和开发效率有着极大的促进作用。

运用 Kotlin 协程的呼应式Spring Boot:增加虚拟线程

Reactive Spring Boot With Kotlin Coroutines: Adding Virtual Threads

自从 Java 19 中引进以来,虚拟线程一直备受关注,本视频首要讲解了如安在 Spring Boot 中运用协程与虚拟线程,并回答了以下问题:

  1. 在 Spring Boot 中运用协程与虚拟线程的优势
  2. 什么是虚拟线程,它适用于什么场景?
  3. 虚拟线程与协程是竞赛关系吗,它们各自有什么优缺点?
  4. 虚拟线程如何完成结构化并发?
  5. 虚拟线程如何与协程结合运用?

Kotlin 技能月报 | 2024 年 2 月
Kotlin 技能月报 | 2024 年 2 月

社区活动

新年第一场 Kotlin 线下活动,JetBrains 联合上海 KUG 请你来参加!

龙年伊始,邀你赴一场专属开发者的派对。Kotlin 社区同伴贡献硬核技能共享,JetBrains 大咖漂洋过海和你面对面,为你新年加足“码”力!具体将为你带来以下共享

  • 《Kotlin + 复合构建安排工程结构》
  • 《AGP 在包体积优化上的应用》
  • 《内部视角看 Kotlin 是如何开展的》
  • 《根据 IntelliJ 的 IDE 的性能优化演变》
  • 《Fleet 最新进展》