Kotlin 技术月报 | 2023 年 12 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。

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

最新动态

Kotlin/Wasm 已进入 Alpha 阶段

Kotlin for WebAssembly Goes Alpha

Kotlin/Wasm 是新推出的 Kotlin Multiplatform 目标平台,现已达到 Alpha 状态!具体包括以下更新:

  • JetBrains 已将 Kotlin/Wasm 提升到 Alpha 版本,让您可以亲自上手尝试。 您的反馈将影响使用 Kotlin 构建 Web 应用程序的未来!
  • 作为 Alpha 版本,Kotlin/Wasm 已经可以在预生产场景中使用,但许多方面仍待完善。 我们需要社区的帮助来确定 Kotlin/Wasm 的相关决策并确定其优先级。
  • Compose for Web(目前处于实验阶段)由 Kotlin/Wasm 提供支持。 两种技术互相配合,让您完全使用 Kotlin 为 Web 应用程序创建声明式用户界面。

WebAssembly 从一开始就被设计为语言的编译目标,因此虽然 Kotlin/Wasm 仍处于 Alpha 阶段,但其在几乎所有宏基准测试中都已经优于 Kotlin/JS:

Jetbrains 2023 开发者生态报告发布

2023 开发者生态系统现状

Jetbrains 2023 开发者生态报告发布,从报告中可以看到很多值得关注和有趣的地方,比如在 2023 年,Scala、Go 和 Kotlin 开发者位列薪酬最高的三大类别。

很长一段时间以来,Kotlin 大多被视为"Android 语言",但其在服务器上的应用也显著增多,用于移动开发的 KMP 也一直在稳步增长。

KSP2 发布预览版本

KSP2 Preview: Kotlin K2 and Standalone Source Generator

KSP2 已发布预览版本,具体包括如下更新:

  • Kotlin 新版编译器 k2 的支持
  • 独立的源代码生成器:比当前的 Kotlin 编译器插件提供了更多的灵活性和功能

Kandy: Kotlin 绘图库了解一下

Kandy: the new Kotlin plotting library by JetBrains

Kandy 是由 JetBrains 开发的一个新的 Kotlin 绘图库。它提供了一种新的、强大的DSL,用于创建各种类型的图表。使用 Kandy 结合 Kotlin Notebook,我们可以很方便的生成各种图表。

精选博客

使用 KCP 打造更安全的 Gson 与更快的 Moshi

众所周知,使用 Gson、Jackson 等框架反序列化 JSON 到 Kotlin 类时存在空安全问题和构造器默认值失效的问题,同时常用的 Gson, Moshi 等框架往往在功能上比较强大,全面,而在性能上却没有很明显的优势。本文主要介绍如何使用 Kudos 编译器插件实现更安全的 Gson 与更快的 Moshi。

Kudos 是 Kotlin utilities for deserializing objects 的缩写。它可以解决使用 Gson、Jackson 等框架反序列化 JSON 到 Kotlin 类时所存在的空安全问题和构造器默认值失效的问题,同时可以简化高性能的反序列化框架 JsonReader 的使用方式。

Kudos 已经在 Github 上开源,开源地址可见:github.com/kanyun-inc/...

函数式编程的魔法武器:Kotlin高阶函数和Lambda表达式

本文主要探讨了 Kotlin 中高阶函数和 Lambda 表达式的语法和使用,以及它们在函数式编程中的重要性和应用场景。同时学习了一些常用的函数式编程操作,如 map、filter、reduce 等,了解了函数式编程的特性。

关于 kotlinx.serialization 你应该知道的一切

kotlinx.serialization in Kotlin- All You Need To Know

kotlinx.serialization 是一个跨平台的序列化框架,当我们在 Kotlin 项目尤其是 KMP 项目中序列化与反序列化时,kotlinx.serialization 是一个很好的选择。本文详细介绍了 kotlinx.serialization 的使用,具体包括以下内容:

  • kotlinx.serialization 的初始化
  • kotlinx.serialization 的基本使用
  • kotlinx.serialization 常用注解使用
  • 自定义序列化与反序列化的使用

精选视频

Kotlin 多平台如何支持鸿蒙?

Kotlin 多平台,但是鸿蒙

自从 HarmonyOS NEXT 宣布不再支持 Android 已来,很多 Kotlin 开发者都很关注 Kotlin 跨平台能否支持鸿蒙?本视频介绍了如何通过 Kotlin/JS 来适配鸿蒙以实现共享 Kotlin 代码的目的,示例代码可见:github.com/kotlin-for-...

社区活动

2023 Kotlin 中文开发者大会

Kotlin 中文开发者大会是由 JetBrains 团队与中文 Kotlin User Group 合作举办的免费线上直播活动,活动将会由 Kotlin 团队与大家分享最新 Kotlin 新闻,并邀请社区的技术大佬分享最新前沿技术、实用的开发经验。

今年 Kotlin 中文大会已于 12 月 16 日(六)及 12 月 17 日(日)两天进行线上直播,本次邀请到 16 位来自各公司的 Kotlin 技术专家,带来 Kotlin Multiplatform 的第一手案例实践、Kotlin 编译器核心讲解、使用 KSP 辅助开发、Kotlin 在后端的应用等话题。

如有需要查看直播回放及讲师 PPT 也可见:blog.jetbrains.com/kotlin/2023...

社区说 Kotlin 分享

社区说|引领高效编程风向 Kotlin 前沿技术开发深度剖析

随着全球化进程不断推进,多线远程合作编程已是业内大势所趋。作为一种跨平台、静态类型的编程语言,Kotlin 在近几年来受到了开发者们的青睐,并依托技术研发取得了令人瞩目的创新性突破。12 月 21 日的夜晚,三位技术大咖一同聚焦 Kotlin 的前沿发展,为我们带来了如下分享:

相关推荐
liang_jy1 天前
Android 事件分发机制(二)—— 点击事件透传
android·面试·源码
圆号本昊1 天前
Flutter Android Live2D 2026 实战:模型加载 + 集成渲染 + 显示全流程 + 10 个核心坑( OpenGL )
android·flutter·live2d
冬奇Lab1 天前
ANR实战分析:一次audioserver死锁引发的系统级故障排查
android·性能优化·debug
冬奇Lab1 天前
Android车机卡顿案例剖析:从Binder耗尽到单例缺失的深度排查
android·性能优化·debug
ZHANG13HAO1 天前
调用脚本实现 App 自动升级(无需无感、允许进程中断)
android
圆号本昊1 天前
【2025最新】Flutter 加载显示 Live2D 角色,实战与踩坑全链路分享
android·flutter
小曹要微笑1 天前
MySQL的TRIM函数
android·数据库·mysql
mrsyf1 天前
Android Studio Otter 2(2025.2.2版本)安装和Gradle配置
android·ide·android studio
DB虚空行者1 天前
MySQL恢复之Binlog格式详解
android·数据库·mysql