最近举行的 KotlinConf 与 Google I/O 上都有不少 Kotlin 技能的共享,一同最近一个月各地的 Kotlin 安排也举行了不少活动

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

月报的首要内容包含:收拾展示最近一个月的最新技能动态,精选博客,精选视频,社区活动等

最新动态

KotlinConf 2023 回放来了

KotlinConf 2023 的一切回放已出,一切回放列表可见:kotlinconf.com/talks/

本次大会除了开场与闭幕讨论,共有 69 场共享,能够说是一场盛宴了,我收拾计算了一下各个共享的主题

主题 共享数
Kotlin 跨渠道 21
Compose 相关共享 10
Kotlin 在服务端的运用 9
Kotlin 协程相关共享 8
Kotlin 编译器与编译器插件 8
Kotlin 与测验 4
Kotlin 言语特性相关共享 4
Kotlin 与函数式编程 3
Kotlin 用于数据科学 2
Kotlin 与游戏 2
Kotlin 与 Gradle 1
Kotlin 与 AI 1

从各个主题的共享数量也能够看出 Kotlin 在各个方向的炽热程度

  • Kotlin 跨渠道相关共享是最多的,能够看出这也是 Kotlin 团队下一步要要点开展的方向
  • 越来越多的人开始运用 Compose ,据计算,在 top 1000 的 Android 运用中,有 21% 的运用运用了 Jetpack Compose
  • 尽管据计算大约 66% 的 Kotlin 开发者是 Android 开发者,但服务端开发者运用 Kotlin 的比例也在逐渐上升,这应该也是 Kotlin 团队想要发力的方向
  • 这次大会 Kotlin 编译器与编译器插件相关的共享也比较多,应该是因为 K2 编译器的逐渐老练,行将发布 beta 版别
  • 国外很多团队重视代码测验,而不仅仅是需求开发,因而 Kotlin 在测验方面的共享也较多

Google I/O : Android 版 Kotlin 的新动态

What’s new in Kotlin for Android:在本次 Google I/O 大会上,介绍了今年将为 Android 开发者发布的 Kotlin 更新,首要包含

  • 行将推出的 K2 编译器
  • KTS 成为 Gradle 构建默认设置
  • Kotlin 符号处理 (Kotlin Symbol Processing) 的改善
  • Kotlin 跨渠道的一些新动态

Kotlin 技术月报 | 2023 年 5 月

这其间我最关注的是 K2 编译器的新动态,K2 编译器最明显的改善是编译速度的大幅提升,一同安稳的编译器插件 API 也能够降低 Kotlin 编译器插件的开发本钱

在 Kotlin 1.8.20 中,现已能够通过设置languageVersion = "2.0"来开启 K2 了,而 K2 编译器也将在 Kotlin 1.9.x 中 Beta,并终究在 Kotlin 2.0 版别中安稳

Kotlin 1.9.0-Beta 发布

What’s new in Kotlin 1.9.0-Beta:Kotlin 1.9.0 Beta 版别终于发布,首要包含以下内容

  • 继续完善 Kotlin K2 编译器,添加了对 Kotlin/Native 后端的支撑
  • 1.7.20 版别引入的..<操作符成为安稳 API
  • 供给了一个新的扩展函数createParentDirectories,可用于创立带有必要父目录的新文件,假如目录已存在,则不操作,否则创立目录
  • Kotlin 跨渠道 Gradle 插件支撑配置缓存
  • Google 的 Android 团队将供给自己的 Gradle 插件来支撑 Kotlin Multiplatform 中的 Android Target
  • Kotlin/Native 在访问object单例的const val字段时将不再初始化object

Kotlin 协程 1.7.0 发布

github.com/Kotlin/kotl…:在我看来,首要变动在于

  • 不再支撑老版别的 Kotlin/Native 内存模型
  • Kotlin/Native 版协程终于添加了 Dispatchers.IO 支撑

精选博客

Kotlin 成为 Gradle 默认言语!怎么快速上手?KOGE 小册来帮忙!

在运用 groovy 开发构建脚本时,咱们必定碰到过代码主动补全,类型查看等痛点问题,而运用 Kotlin DSL 开发脚本能够完美处理这些问题

在本次 KotlinConf 上现已宣告,Kotlin DSL 现在成为新 Gradle 构建的默认设置。假如你想学习 Gradle,而苦于对 groovy 的语法并不了解,那么 KOGE 是你的好帮手

KOGE 是 Kotlin-oriented Gradle Essentials 的缩写,望文生义是面向 Kotlin 的 Gradle 基础手册。咱们按照合理的先后顺序,列出新手最困惑的概念,再从一些互联网上已有的问题、源码、示例项目中去学习。它不是 “Awesome Gradle” 的项目收藏夹,而是一份大纲,一本简练的自学手册。 手册挑选了 Kotlin 作为介绍 DSL 脚本和插件开发的言语,链接和用例以 Android 构建场景为主。

Kotlin 跨渠道系列文章

Kotlin 跨渠道系列文章,共享了 Kotlin 跨渠道在各端的运用实践,包含以下内容:

  • KMM跨渠道开发入门,看这一篇就够了~
  • Compose跨渠道第一弹:体验Compose for Desktop
  • Compose跨渠道第二弹:体验Compose for Web
  • 一文先行体验运用Compose开发iOS~
  • Kotlin跨渠道第四弹:了解Kotlin/Wasm
  • 我开源了一个Compose跨渠道项目模版

落地包体积监控,用Kotlin写一个APK差异剖析CLI

CLI 即 command-line interface (命令行界面),咱们在开发中常常会写一些 CLI 工具,本文便是一个运用 Kotlin 完成 APK 差异剖析 CLI 的很好示例

当然有人会问,开发 CLI 我为什么不运用 python 呢?运用 Kotlin 开发 CLI 的最大优势在于,假如你比较了解 Kotlin 的话,能够更快的完成功能,也能够写出更好的代码,而不是运用一个你可能不那么了解的言语。

因而运用 Kotlin 开发 CLI 是在你现已掌握 Kotlin 之后供给的一个选项,咱们可根据自己的情况选用

Kotlin Unit 与 Nothing 详解

  • Unit 为啥还能当函数参数?面向有用的 Kotlin Unit 详解
  • 这玩意真的有用吗?对,是的!Kotlin 的 Nothing 详解

Kotlin 的 Unit 与 Nothing 类型,其实咱们每天都在运用。咱们知道,Unit 表明没有返回值,Nothing 则是一切类型的子类型,可是它们的本质是什么,又为什么这么设计呢?上面两篇文章就解答了这些问题,解说的很详尽,通俗易懂

精选视频

Compose iOS 发布 alpha 版别

Compose Multiplatform on iOS by: Sebastian Aigner and Nikita Lipsky:KotlinConf 大会上关于 Compose iOS 的共享,十分精彩,首要包含以下内容:

  • Compose Multiplatform for iOS Demo 现场演示,作用看起来现已很不错了
  • 根据 Jetpack Compose 构建,与 Jetpack Compose 的 API 相同,因而能够快速将 Jetpack Compose 项目扩展成 Compose 跨渠道项目
  • 根据 Kotlin 跨渠道构建,因而能够运用相同的机制访问渠道特异的 API
  • 允许与原生用户界面的双向互操作:能够在 Compose UI 中嵌入杂乱的原生视图,例如MKMapView,或者在 SwiftUI 中嵌入 Compose 代码
  • 介绍了 Compose Multiplatform for iOS 的架构与原理,以及其目前在功能与性能上待完善的部分

Kotlin 炉边漫谈第 8 期

《Kotlin 炉边漫谈》第 8 期:阿里和美团的 Kotlin Multiplatform 运用案例 | 播客

由来自阿里巴巴的曹立成和美团的刘银龙两位嘉宾,跟咱们一同共享 Kotlin Multiplatform 的落地实践经历

横向对比了 Flutter, Kotlin Multiplatform, React Native, 以及国内大厂自研跨渠道框架等的优缺点及运用场景,一同共享了在做技能选型时的经历共享,十分精彩,不容错失

Kotlin 技术月报 | 2023 年 5 月

K2 编译器编译速度实测

Kotlin 新编译器 K2 到底有多快?:K2 编译器一直声称能够大幅提升编译速度,那么到底提升了多少?现在咱们是否能够开始运用 K2 了呢?

本视频实测了 K2 的编译提速作用,发现 K2 编译器并没有吹牛,测验成果如下图所示:

Kotlin 技术月报 | 2023 年 5 月

社区活动

KotlinConf Global

KotlinConf Global 是 KotlinConf 在全球各个城市的拓宽延伸活动,促进各地 Kotlin 开发人员之间的联系,最近全国各个城市也举行了相关活动

  • 上海线下活动|2023 KotlinConf Global Shanghai Meetup 等待与您碰头
  • 活动回忆 | 2023 KotlinConf Global 北京共享会
  • 深圳 KotlinConf Global 2023
  • 西安线下活动|2023 KotlinConf Global Xi’an Meetup 等待与您碰头

新建立的 Kotlin User Group

最近全国各个城市也新创立了一些 KUG,欢迎各个城市的 Kotlin 爱好者参加

  • 贵州 Kotlin 用户组
  • 郑州 Kotlin 用户组