Kotlin 技术月报 | 2024 年 11 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 精选博客 Kotlin 协程源码的地图:如何读源码才不会迷失? Kotlin 协程是 Kotlin 的重要特性,为了彻底掌握 Kotlin 协程,我们不仅要知其然,更要知其所以然。这篇文章主要介绍了 Kotlin 协程源码的研究方法: 第一点:理解Kotlin协程的源码结构。Kotlin协程的源代码,其实分布在多个模块之中,各个模块之中,会包含特定的协程概念。相应的,它的各个概念,其实是有特定的层级结构的,我们只有弄清楚各个概念之间的关系,并且建立一个类似“地图”的知识结构,我们在研究源码的时候,才不会那么容易迷失。 第二点:明确研究源码的目标。正如我们前面提到的,我们不可能一次性看完协程所有的源代码,因此,我们在读源码的过程中,一定要有明确的目的。 精选视频 社区活动 KotlinConf 征搞现已启动 KotlinConf CfP is now open KotlinConf 是由 JetBrains 举办的官方会议。它致力于 Kotlin 编程语言,是社区聚集并讨论所有与 Kotlin 相关事物的地方。 2025 年的 KotlinConf 将于 5 月 21 日至 23 日在丹麦哥本哈根举行,21 日有一天的研讨会,会议本身在 22 日和 23 日举行。 提交一个演讲并分享你的经验,无论是关于找到使用 Kotlin 的创新方法、你面临的挑战、你创建的框架,还是任何你觉得可以在他人的 Kotlin 之旅中提供帮助的事情。

November 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 10 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 2.1.0-Beta2 版本已发布 https://kotlinlang.org/docs/whatsnew-eap.html Kotlin 2.1.0-Beta2 版本已发布,该版本带来了一些重要的改进和新功能,具体包括以下内容: 新语言特性的预览 改进了泛型类型函数的重载解析 SubclassOptInRequired 注解的引入 改进的 K2 kapt 实现 Kotlin/Native LLVM 版本升级至 16.0.0 Gradle 相关改进 Compose 编译器插件相关的更新 Compose Multiplatform 1.7.0 版本已发布 Compose Multiplatform 1.7.0 Released Compose Multiplatform 1.7.0 版本已发布,该版本带来了一些重要的改进和新功能,具体包括以下内容: Material3 adaptive和 WindowSizeClass现在可用于通用代码中。 Compose Multiplatform 现在支持为navigation graph提供编译时安全性。 Compose Multiplatform 1.7.0 与 Kotlin 2.0.20 搭配使用,在 iOS 上的性能表现显著优于之前版本的组合,运行更快、更流畅。 2025 Kotlin Multiplatform 发展路线图 Kotlin Multiplatform Development Roadmap for 2025 文章介绍了 Kotlin Multiplatform 在 2025 年的发展路线图,具体包括以下方面:...

October 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 9 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 2.1.0-Beta1 版本已发布 https://kotlinlang.org/docs/whatsnew-eap.html Kotlin 2.1.0-Beta1 版本已发布,此版本包含了一些新功能和改进,具体包括以下内容: 新语言特性的预览 SubclassOptInRequired 注解的引入 改进的 K2 kapt 实现 Kotlin/Native LLVM 版本升级至 16.0.0 Gradle 相关改进 Compose 编译器插件相关的更新 开发者的提效神器 —— JetBrains AI Assistant 即刻启动! 开发者的提效神器 —— JetBrains AI Assistant 即刻启动! Compose 1.7.0 版本正式发布 https://developer.android.google.cn/jetpack/androidx/releases/compose-ui Compose 1.7.0 版本已发布,此版本包含了一些新功能和改进,具体包括以下内容: 新增共享元素过渡、懒加载列表项动画、文本新特性、上下文流布局等特性。 性能的持续提升,首帧性能相比 1 月版本提升 17%,强跳过模式从实验状态转为生产就绪状态,Compose 编译器将从 Kotlin 2.0 起托管在 Kotlin 仓库中,便于升级 Kotlin 版本。 同时介绍了 Compose 对 Android 设备生态系统的支持,如 Navigation Compose 的类型安全导航和 CameraX Compose 的新功能 精选博客 在跨平台领域中,Kotlin 多平台对于你的下一个应用来说是正确的选择吗? In the Cross-Platform world, is Kotlin Multiplatform the right choice for your next application?...

September 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 8 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 2.0.10 已正式发布 Kotlin 2.0.10 现已正式发布。2.0.10 版本是 2.0 系列的第一个错误修复版本,此版本的主要目标是修复 2.0.0 版本中发现的错误。有关更多详细信息,请点击下面的链接查看 GitHub 上的发行说明。 https://github.com/JetBrains/kotlin/releases/tag/v2.0.10 Kotlin 2.0.20 已发布 https://blog.jetbrains.com/kotlin/2024/08/kotlin-2-0-20-released/ Kotlin 2.0.20 版本也已经发布了,此版本的亮点主要包括: Kotlin 语言方面:数据类的copy函数将具有与构造函数相同的可见性 Kotlin 语言方面:Context receiver被废弃,引入context parameters作为替代方案 Kotlin/Native:垃圾收集器支持并发标记,提升 Kotlin/Native 运行时性能 Gradle 改进:添加对 Gradle 8.6 到 8.8 版本的支持 Ktor 相关的更新 https://blog.jetbrains.com/kotlin/2024/08/kotlin-roundup-ktor-in-focus/ 本月 Kotlin 团队也带来了关于 Ktor 的更新,Ktor 是一个用于构建异步服务器和客户端的框架。本文介绍了 Ktor 的一些新特性,包括: Ktor 3.0.0 Beta-2的发布:支持Kotlin 2.0,新的 kotlinx.io 库,改进的 HTTP 错误处理和 Ktor客户端支持 Kotlin/Wasm Ktor 生成器的更新:更新后的生成器提供了简便的项目配置和一键预览功能 Ktor 教程的更新:提供了更精确的指导和示例,以提供更加简洁和用户友好的体验 Fleet 1....

August 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 7 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 2.0.10-RC 版本已发布 https://github.com/JetBrains/kotlin/releases/tag/v2.0.10-RC Kotlin 2.0.10-RC 版本已发布,2.0.10 版本是 2.0 系列的第一个错误修复版本,此版本的主要目标是修复 2.0.0 版本中发现的错误,而 RC 版本的发布也预示着 2.0.10 版本即将正式发布,想要升级到 Kotlin 2.0 但有所顾虑的开发者可以尝试这个版本。 Xcode-Kotlin 2.0 发布 Xcode-Kotlin 2.0 Release Xcode-Kotlin 是 touchlab 开发的一个插件,允许开发者直接在 Xcode 中调试在 iOS 应用程序中运行的 Kotlin 代码。这为使用 Kotlin 共享代码的 iOS 开发人员提供了更流畅的开发和集成体验,对于并非每个人都直接编辑共享代码的大型团队来说,体验也更加便捷。 Xcode-Kotlin 2.0 已发布,具体包括以下更新: 显著提高了调试性能(快达 5 倍)。 扩展了每个帧变量的信息。 可以在 Swift、Kotlin 和 Objective-C 代码中使用。 内置支持 List 和 Map,并且更多的支持正在开发中(例如 StateFlow,Set)。 精选博客 腾讯视频 KMP 跨 Android、iOS、鸿蒙实践 腾讯视频已将超 45% 的基础组件使用 KMP 技术改造为跨端开发。在 KMP 逻辑跨端的能力上,致力于使用 Compose UI 实现多端 UI 的统一。目前,已经实现线上 ComposeUI 跨 iOS 和 Android,线下实验版本实现跨鸿蒙。本分享详细介绍了相关技术细节和腾讯视频使用 KMP 的未来规划。...

July 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 6 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 KotlinConf 分享回放已全部发布 All KotlinConf Recordings Are Now Available. Enjoy! 现在,您可以在 KotlinConf 官方网站上找到 KotlinConf’24 的所有回放:https://kotlinconf.com/talks/ Kotlin 2.0.20-Beta1 版本已发布 Kotlin 2.0.20-Beta1 版本已发布,更新内容也主要是一些 bug 修复:https://github.com/JetBrains/kotlin/releases 你可能会好奇,为什么 2.0.10 还没有发布就发布了 Kotlin 2.0.20-Beta1? 还会有 2.0.10 吗? 自 Kotlin 2.0.0 起,Jetbrains 发布以下类型的版本: 语言版本(2.x.0),带来语言的重大变化并包括工具更新。每6个月发布一次。 工具版本(2.x.20),在语言版本之间发布,包括工具更新、性能改进和错误修复。在相应的语言版本发布后3个月发布。 错误修复版本(2.x.yz),包括针对工具版本的错误修复。这些版本没有确切的发布时间表。 对于每个语言和工具版本,Jetbrains 还会发布几个预览(EAP)版本,供您在正式发布之前尝试新功能。因此不必担心,Kotlin 2.0.10 版本将随后发布。 精选博客 采用 Kotlin Multiplatform 做跨平台 KMP 作为跨平台框架,到底有没有技术生命力,是否要选择它来作为自己未来的发展方向?本文借鉴左耳朵耗子在“如何选择技术”中提出的观点来考虑: Kotlin Symbol Processing使用与原理剖析 Kotlin Symbol Processing (KSP) 是一个可用于开发轻量级编译器插件的API,与Kotlin Annotation Processing Tool(KAPT)相似,但是却可以更高效地处理注解,并提供更好的性能,使用 KSP 的注释处理器的运行速度最多可达两倍,而且可以支持多平台。 本文详细介绍了 KSP 的使用与从 Kapt 迁移过来的步骤,具体包括如下内容:...

June 30, 2024 · beijing-kug

Kotlin 技术月报 | 2024 年 5 月

为了帮助社区的小伙伴们更好地了解 Kotlin 相关的最新动态,我们决定使用月报的形式,整理展示最近一个月的 Kotlin 技术动态。 月报的主要内容包括:整理展示最近一个月的最新技术动态,精选博客,精选视频以及社区活动等方面的信息。 最新动态 Kotlin 2.0 已发布 What’s new in Kotlin 2.0.0 Kotlin 2.0 已正式发布,具体包括以下内容: K2 编译器正式发布稳定版,带来更快的编译速度与更好的类型推断 Compose 编译器插件代码已合并到 Kotlin 仓库中 默认使用 invokedynamic 来生成 lambda 表达式,相比匿名内部类方式减少了包体积 kotlinx-metadata-jvm 库现已稳定,该库可用于读取与修改 metadata 支持使用 Instruments 工具监控 Kotlin/Native GC 性能 Kotlin/Wasm 支持按名字导出符号 Kotlin/Wasm 支持通过 @JsExport 导出无符号基础类型 enumEntries 方法已稳定,推荐使用其代替 enumValues 方法 Compose Multiplatform 1.6.10 版本已发布 Compose Multiplatform 1.6.10 – iOS Beta, Web Alpha, Lifecycle, Navigation, and More Compose Multiplatform 版本已发布,具体包括以下内容: Compose Multiplatform for iOS 进入 beta 状态 Compose Multiplatform for Web 进入 alpha 状态 多平台资源 API 现已稳定,并且带来了一些期待已久的改进 Jetpack Compose Navigation 库支持 Compose Multiplatform Lifecycle 与 ViewModel 库支持 Compose Multiplatform 新的 Compose 编译器插件,代码合并到 Kotlin 仓库中 支持 Kotlin 2....

May 30, 2024 · beijing-kug

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