KotlinConf'24 主题演讲

800 阅读3分钟

KotlinConf'24 最近举办,作为 Kotlin 开发者自然也不能错过,在 B 站上看到主题演讲的视频,简单摘录了一些关键内容。

Bilibili KotlinConf'24 主题演讲

开场

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:自研的大模型,和其他大模型的对比。