JetBrains 宣布 Compose Multiplatform(Kotlin 的声明式 UI 框架)已经达到 1.0 版本,现在可以在生产中使用了。此版本主要解决质量和稳定性问题,同时修复关键问题和错误。
一些亮点内容如下:
- On desktop,你现在可以快速高效地创建具有漂亮用户界面的 Kotlin 应用程序。
- On the web,你现在可以使用 Compose for Web 的稳定 DOM API 构建生产质量的动态 Web 体验,并与所有浏览器 API 完全互通。未来版本中将提供对 Material UI 小部件的支持。
- 总体而言,现在在各种平台(包括 Android,使用与 Google Jetpack Compose 的兼容性)之间共享专业知识和代码要容易得多。
Kotlin UI for Desktop
- 采用声明式方法构建用户界面
- 通过硬件加速实现出色的运行时性能
- 通过预览工具缩短迭代周期
- 通过自动应用程序打包,自信地交付桌面应用程序
- 与 Android 上的 Jetpack Compose 和 Java UI 框架的互操作性
- 使用 Compose Multiplatform wizards 快速启动并运行
Compose for Web
Compose Multiplatform 还提供了一个强大的、声明性的 Kotlin/JS API 来处理 DOM。
它拥有你在现代 Web 框架中想要和需要的所有功能,包括全面的 DOM API、内置 CSS-in-JS 支持、对 SVG 的支持、typed inputs 等。Compose Multiplatform的 Web target 是用纯 Kotlin 编写的,并充分利用了该语言所提供的类型系统和习语。这使你可以使用你可能已经习惯的其他 Kotlin targets 的开发工作流程。
多平台支持
要使用 Compose 快速开始构建面向多个平台的应用程序,您可以使用 IntelliJ IDEA 2021.1+ 中的 Kotlin Project Wizard。
更多详情可查看官方博客。
(PS: Flutter 可以退出舞台了, 各方面都完爆 Flutter)
compose/kotlin 完爆 flutter/dart ,主要在于 API 设计和生态。 flutter/dart 用到的技术基本都能在 compose/kotlin 找到,compose的 API 设计还比 flutter 优秀。Flutter 没有 Modifier,稍微调点界面上的东西代码就要爆炸。dart 本身生态不好,与其他语言的交互又差,很多东西都得自己造轮子或者自己去适配API。kotlin 可以无缝与 Java 交互,依托 Java 的生态,很多东西都有现成的东西可拿来用。
启动起来感觉像以前的swing,写法却舒服的多