Kotlin 技术月报 | 2024 年 4 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 IntelliJ IDEA 已支持开启 K2 模式 K2 Kotlin Mode (Alpha) in IntelliJ IDEA 从2024.1版本开始,IntelliJ IDEA 提供了一个可选的 K2 模式,开启 K2 模式后将获得以下收益: Kotlin 新特性支持:新模式将支持仅在 K2 Kotlin 编译器中提供的未来语言特性。 代码分析的稳定性:得益于架构的重构,IDE 功能的质量和可靠性应该会得到提升,代码分析也将更加稳定。 更优的 IDE 性能:Kotlin 代码高亮和 Kotlin 代码补全的速度已显著提高。 全行代码补全:新版 JetBrains IDE 自带的 AI 神器 AI 编程仍然是一个众说纷纭的话题,但越来越多的开发者开始将 AI 融入他们的日常工作流中。 JetBrains IDE v2024.1 版本中推出了一项新功能:全行代码补全。这个功能利用AI技术,在本地运行,不需要互联网连接,也不会发送任何数据到互联网上。它支持多种编程语言,包括Java、Kotlin、Python等,并且已经集成到多个JetBrains IDE中,如IntelliJ IDEA、PyCharm等。 全行代码补全功能已包含在 JetBrains IDE 的有效订阅中,无需额外费用,只需确保您使用的是 v2024.1 或更高版本即可。 Kotlin 2.0.0-RC1 版本已发布 What’s new in Kotlin 2.0.0-RC1 Kotlin 2....

April 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 3 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Compose Multiplatform 1.6 版本发布 Compose Multiplatform 1.6 版本已发布,具体包括如下内容: 更新了通用资源管理 API: 可以使用生成的 Res 对象在 Compose Multiplatform 代码中访问资源 引入了通用 UI 测试 API: UI 测试可以帮助您确保应用程序的行为符合预期,Compose Multiplatform 1.6 为此引入了通用 UI 测试 API 添加了 iOS 辅助功能支持: Compose Multiplatform 现在为 iOS 提供支持,使残障人士可以与 Compose UI 以与原生 UI 相同的舒适度进行交互 带来了许多其他功能和改进: 包括对 Fleet 的 @Preview 注解的支持,iOS 与桌面端的一些优化等 Ktor 2024 路线图发布 Ktor 是一个轻松构建联网应用(web 应用、 HTTP 服务、 移动应用以及浏览器应用)的框架。Ktor 2024 路线图已发布, Ktor 团队将继续保持框架轻量级、灵活和透明,提高功能质量和性能,扩展Ktor插件生态系统,具体包括如下内容: 新功能: 引入OpenTelemetry插件,用于生成和收集遥测数据。 集成gRPC,支持创建和消费基于gRPC的服务。 在Ktor 3....

March 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 2 月

为了帮助社区的小伙伴们更好地了解 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 Jetpack Lifecycle 支持 Koltin 跨平台 Jetpack Lifecycle 支持 Koltin 跨平台...

February 28, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 1 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 学习使用 IDE 重构 Kotlin 代码 Learn IDE Code Refactoring in Kotlin for Enhanced Code Quality JetBrains Academy 插件中推出了一门新课程:《学习使用 IDE 重构 Kotlin 代码》。该课程将帮助您学习如何使用 IDE 重构 Kotlin 代码,以提高代码质量。 您将在课程中了解如下主题: 命名约定和代码风格样式规则 完全重构 VS 逐步重构 用于移动、提取和内联代码的自动化重构技巧 使用设计模式重构代码 IntelliJ IDEA 的 K2 Kotlin 模式现已推出 Alpha 版! IntelliJ IDEA’s K2 Kotlin Mode Now in Alpha! 随着 K2 编译器的逐渐稳定,IDEA 也推出了 K2 模式。开启 K2 模式后,IntelliJ IDEA 将使用嵌入的 K2 Kotlin 编译器来分析 Kotlin 代码。在开启 K2 模式后, Kotlin 代码的代码高亮和代码补全的性能得到了显著的提高。...

January 30, 2024 · beijing-kug

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 开发者位列薪酬最高的三大类别。...

December 30, 2023 · beijing-kug

Kotlin 技术月报 | 2023 年 11 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 1.9.20 版本发布 What’s new in Kotlin 1.9.20 Kotlin 1.9.20 版本已发布,具体包括以下内容: K2 对所有目标平台的支持达到 beta 状态 Kotlin Multiplatform 达到稳定状态 全新的 Kotlin 多平台项目模板,减少配置中的重复代码 Kotlin 多平台插件添加了对 Gradle 配置缓存的完全支持 Kotlin/Native 默认使用新版内存分配器 Kotlin/Native 垃圾回收性能持续提升 添加了全新的 wasm-wasi 目标,并将原有的 wasm 目标重命名为 wasm-js 标准库添加了对 WASI API 的支持 此外,本月 Kotlin 还发布了 1.9.21 小版本,主要是修复了一些 issue, 同时还解决了 kapt 与 java21 的兼容问题 Kotlin Multiplatform 已稳定并准备好投入生产使用 Kotlin Multiplatform Is Stable and Production-Ready 经过多年的迭代,由 JetBrains 打造的开源技术 Kotlin 多平台(Kotlin Multiplatform)已经达到稳定状态并准备好投入生产使用。...

November 30, 2023 · beijing-kug

Kotlin 技术月报 | 2023 年 10 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 1.9.20-RC2 版本发布 What’s new in Kotlin 1.9.20-RC2 Kotlin 1.9.20-RC2 版本已发布,具体包括以下内容: K2 版本 Kapt 编译器插件的实验性支持 全新的 Kotlin 多平台项目模板,减少配置中的重复代码 Kotlin 多平台插件添加了对 Gradle 配置缓存的完全支持 Kotlin/Native 默认使用新版内存分配器 Kotlin/Native 垃圾回收性能持续提升 添加了全新的 wasm-wasi 目标,并将原有的 wasm 目标重命名为 wasm-js 标准库添加了对 WASI API 的支持 Kudos 发布 https://github.com/kanyun-inc/Kudos Kudos 是 Kotlin utilities for deserializing objects 的缩写。它可以解决使用 Gson、Jackson 等框架反序列化 JSON 到 Kotlin 类时所存在的空安全问题和构造器默认值失效的问题。 在使用常见的 JSON 序列化框架解析 JSON 时,Kotlin 开发者通常会面临无参构造器和属性空安全的问题。我们通常的建议是使用 Moshi 或者 kotlinx.serialization。 不过,切换框架往往并不容易。kotlinx.serialization 不支持 Java,适合纯 Kotlin 项目使用;Moshi 虽然也同时支持 Java,但它在解析时与 Gson 这样的框架在细节上仍然有不少差异。...

October 30, 2023 · beijing-kug

Kotlin 技术月报 | 2023 年 9 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 1.9.20-Beta 发布 What’s new in Kotlin 1.9.20-Beta Kotlin 1.9.20-Beta 版本已发布,具体包括以下内容: 全新的 Kotlin 多平台项目模板,减少配置中的重复代码 Kotlin 多平台插件添加了对 Gradle 配置缓存的完全支持 Kotlin/Native 默认使用新版内存分配器 Kotlin/Native 垃圾回收性能持续提升 添加了全新的 wasm-wasi 目标,并将原有的 wasm 目标重命名为 wasm-js 标准库添加了对 WASI API 的支持 Dagger/Hilt 支持 KSP https://github.com/google/dagger/releases Dagger 2.48 版本发布,提供了对 Dagger 和 Hilt KSP 处理器的支持。 为了使用 Dagger 的 KSP 处理器,主要需要完成以下工作: 按照基本设置,将 Dagger 的处理器从 kapt 迁移到 ksp。 将任何 Dagger SPI 插件迁移到新的 Dagger SPI 插件 API。 确保没有 Kapt 处理器生成需要与 Dagger 交互的类。 需要注意的是,Dagger 的 KSP 处理器仍处于 alpha 阶段,官方目前主要关注的是确保正确性而不是优化性能,在使用的过程中有任何问题都可及时向官方反馈...

September 30, 2023 · beijing-kug

Kotlin 技术月报 | 2023 年 8 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 路线图更新 Kotlin 路线图更新了!今年还有哪些亮点值得期待? 带有稳定版 K2 编译器的 Kotlin 2.0 即将面世! Kotlin Multiplatform 将在今年迈入稳定! Kotlin/Wasm 计划将提升至 alpha,并可适用于独立的 Wasm 虚拟机 新的基础库 kotlinx-io 正在开发中 Android 调试体验改进,调试内联类与内联函数将更加容易 Kotlin 跨平台的缩写正式更改为 KMP Update on the Name of Kotlin Multiplatform 为了解决过去两年里困扰许多 Kotlin 开发者的命名不一致和缩写混淆问题,Jetbrains 决定弃用“Kotlin多平台移动”(KMM)产品名称。从现在开始,当提及 Kotlin 用于跨不同平台共享代码的技术时,首选术语是“Kotlin多平台”(KMP),无论所讨论的目标平台组合是什么。 KotlinConf 2024 门票现已开售 KotlinConf 2024 门票现已开售!| 官方博客 第五届 KotlinConf 将于 2024 年 5 月 22 日至 24 日在丹麦哥本哈根贝拉中心(Bella Center)举行,届时,Kotlin 社区成员将再度齐聚一堂! KotlinConf’24 将举办为期一天的工作坊,随后是连续两天的内容和社交活动,包括会议、展览和其他趣味活动。 赶快预订门票,安排旅行,准备参加规模最大的 Kotlin 活动。...

August 30, 2023 · beijing-kug

Kotlin 技术月报 | 2023 年 7 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定尝试使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 1.9.0 版本发布 Kotlin 1.9.0 现已发布 | 官方博客:Kotlin 1.9.0 版本已发布,其中最大的变化应该是 K2 编译器终于支持了 KAPT 编译器插件,主要包括以下内容: 持续完善 Kotlin K2 编译器,包括对 KAPT 的支持,Gradle 构建报告更好的支持等 一些语言特性:在枚举类中推荐使用entries属性代替values()方法进行遍历,data object 现已稳定,Value Class 支持次级构造函数 1.7.20 版本引入的..<操作符成为稳定 API 提供了一个用于根据名称获取正则表达式capture group的新 API 提供了一个新的扩展函数createParentDirectories,可用于创建带有必要父目录的新文件,如果目录已存在,则不操作,否则创建目录 Kotlin 跨平台 Gradle 插件支持配置缓存 Google 的 Android 团队将提供自己的 Gradle 插件来支持 Kotlin Multiplatform 中的 Android Target Kotlin/Native 在访问 object 单例的 const val 字段时将不再初始化 object Kotlin/Native在链接过程中遇到无符号问题时,默认处理方式已更改为警告而非报错,这样更接近于Kotlin/JVM的处理方式,即在运行时报错 Kotlin/Wasm 在包体积方面做了巨大的优化,以一个 HelloWorld 项目为例,1.9.0 版本相较于 1.8.20 版本,其体积缩小了10倍。 也可以查看视频版本的介绍:Kotlin 1....

July 30, 2023 · beijing-kug