KotlinConf'24 最近举办,作为 Kotlin 开发者自然也不能错过,在 B 站上看到主题演讲的视频,简单摘录了一些关键内容。
开场
Kotlin 语言的吉祥物 Kodee 出场。
Hadi Hariri: VP of Developer Advocacy, JetBrains
开场,闲聊,介绍 KotlinConf 的流程。
Kotlin 2.0
Egor Tolstoy: Kotlin Project Lead, JetBrains
官宣 Kotlin 2.0 正式发布
- 借助于新的编译器,未来可以快速支持更多新的语言特性,为了让迁移更加丝滑,2.0 版本没有引入新的功能,但修复了很多长期存在的旧问题
- 更加可靠、精确、更理解写的代码
- 显著的性能提升,编译速度是之前的 2 倍(减少 50%)
- 使用 K2 的 IntelliJ Kotlin 插件,代码高亮的速度比之前快了 1.8 倍
- Kotlin 2.0 在 1 千万行代码上测试过,是质量最好的版本,迁移非常安全。
Kotlin in Meta
Eve Mattaey: Android Developer Experience, Meta
介绍在 Meta 中使用 Kotlin 和 Kotlin 2.0 的历程,没啥干货,这里略过。
Google 和 Android 在 Kotlin 上的投资
Jeffrey van Gogh: Director of Engineering, Android Developer Experience, Google
介绍 Google 和 Android 在 Kotlin 上的投资。
-
Google 和 JetBrains Kotlin 团队紧密合作,在 Kotlin 2.0 编译器上做了很多贡献,同时让 Android 适配 Kotlin 2.0
- Android Lint
- Parcelize
- Kotlin Symbol Processing
- Compose Compiler Plugin
-
Compose Compiler 之前版本和 Kotlin 版本不对齐,现在 Compose Compiler 迁移到了 Kotlin 仓库中,版本会保持一致,不再需要兼容的版本映射。
-
Android Studio 对 Kotlin 2.0 的支持
- Android Studio Koala 版本可以开启 K2 Kotlin 模式
-
Compose 即将到来的一些新特性
- HTML Support
- Drag and Drop
- Lazy List item navigation
- Share element transitions
-
性能提升
-
Google workspace(谷歌文档)使用 KMP 在 Android、iOS、Web 上共享逻辑代码,进展非常好,计划在更多的产品上使用 KMP
-
Jetpack 库支持 KMP
-
Stable:
- Annotations
- Collections
- DataStore
-
Alpha:
- Lifecycles
- ViewModels
- [New] Room,支持 Android 和 iOS 操作 SQLite
-
-
在 2024 年的 Google/IO 上,Android 正式宣布支持 KMP。
KMP
Ekaterina Petrova:Product Marketing Manager, JetBrains
Sebastian Aigner: Developer Advocate, JetBrains
介绍 KMP 的最新进展
-
一些使用 KMP 的公司/团队的反馈(Showcase)
-
KMP 已经稳定,可以在生产环境中使用(去年宣布),并且还在演进,介绍了一些新的进展
- Integration:Direct Kotlin-to-Swift export
-
Tooling:Fleet,KMP 的 All in one IDE
- 项目的前置检查,确保开发环境满足条件
- 完全支持 Xcode 项目和 Swift 语言:代码跳转、重命名等,甚至修改 Kotlin 的类名、变量名,Swift 也会直接生效
- 可以让项目运行在所有的目标平台
- 在所有平台上 Debug,可以在 Swift 和 Kotlin 代码间断点(Step in)
- Compose 预览
- JetBrains AI Assistant:解释代码,生成代码等
-
Amper: KMP 项目新的构建工具(还在早期阶段)
-
Compose Multiplatform
- iOS 在 alpha release 后有很多进展
-
新的通用 API
- Navigation
- Lifecycle ViewModel
- 资源 API
-
Compose Multiplatform 在 iOS 平台上进入 Beta 阶段(主要的 API 固定,更容易迁移)
-
Compose Multiplatform for Web,将你的 App 带到浏览器中
- 基于 Kotlin/Wasm,在所有现代浏览器上可用
- Compose Multiplatform for Web 进入 Alpha 阶段(核心 API 可用;基于 Kotlin/Wasm;适配 Web)
即将到来的新特性
Michail Zarecenskij: Lead language designer, JetBrains
介绍即将到来的 Kotlin 新语言特性。
- Guards
- $-escaping problem
- Non-local break/continue
- Context receivers parameters
Kotlin 生态
Vsevolod Tolstopyatov: Group Lead, Kotlin Core Ecosystem
介绍 Kotlin 的生态。
AWS Kotlin SDK
Julie Gunderson: Senior Developer, AWSCloud
介绍 AWS Cloud 中的 Kotlin SDK,这里略过
Kotlin & AI
Svetlana Isakova: Developer Advocate, JetBrains
介绍 Kotlin & AI,JetBrains AI Assistant
- 自动代码补全
- 解释代码
- 根据自然语言生成代码
- 生成注释和文档
Kotlin Language Model:自研的大模型,和其他大模型的对比。