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 的前沿发展,为我们带来了如下分享:

相关推荐
H10010 分钟前
重构(二)
android·重构
拓端研究室21 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
zhangphil1 小时前
Android简洁缩放Matrix实现图像马赛克,Kotlin
android·kotlin
m0_512744641 小时前
极客大挑战2024-web-wp(详细)
android·前端
lw向北.2 小时前
Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
android·开发语言·qt
不爱学习的啊Biao2 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
Clockwiseee2 小时前
PHP伪协议总结
android·开发语言·php
mmsx9 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
众拾达人12 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
吃着火锅x唱着歌12 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习