JetBrains Compose Multiplatform 发布 1.0,Kotlin 的声明式 UI 框架

来源: OSCHINA
2021-12-03

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。

更多详情可查看官方博客

展开阅读全文
10 收藏
分享
加载中
精彩评论
图形核心是 google 的 skia 库 ( C++ 编写,安卓平台和 chrome 已经用了很多年了)。Jetpack Compose 最开始是与 Google 一起开发给 Android 用的,现在 jetbrains 把他扩展到所有主流平台了.
(PS: Flutter 可以退出舞台了, 各方面都完爆 Flutter)
2021-12-03 16:00
6
举报
一统江湖
2021-12-03 08:04
4
举报
我当然知道 flutter 是 skia 实现,UI 程序性能主要耗在图形处理上,语言交互的影响更是可以忽略,所以他们性能上的差别应该不会有太多区别。
compose/kotlin 完爆 flutter/dart ,主要在于 API 设计和生态。 flutter/dart 用到的技术基本都能在 compose/kotlin 找到,compose的 API 设计还比 flutter 优秀。Flutter 没有 Modifier,稍微调点界面上的东西代码就要爆炸。dart 本身生态不好,与其他语言的交互又差,很多东西都得自己造轮子或者自己去适配API。kotlin 可以无缝与 Java 交互,依托 Java 的生态,很多东西都有现成的东西可拿来用。
2021-12-04 14:44
3
举报
试了下,基于jvm的,得jdk11以上,,,之前装的jdk8过时了😥
启动起来感觉像以前的swing,写法却舒服的多
2021-12-03 20:16
1
举报
你先去了解下…😂,flutter也是基于skia实现的啊…,性能上来说,compose还是基于jvm,与native层的skia交互是有损耗的,安卓版的还是基于view实现的,性能是大问题,还有就是web版的compose还是基于dom实现的,这个又是一个性能问题,flutter的web版本是基于skia-canvas渲染的,脱离了dom层级,只能说compose是安卓声明式ui中最好的选择,但是在跨平台方面上还有很长的路要走,光看性能来说,compose仅仅在桌面端比flutter强,移动端和web端方面完败,还不支持ios😂
2021-12-03 20:14
1
举报
最新评论 (17)
Really ?
2021-12-04 17:20
0
回复
举报
试了下,基于jvm的,得jdk11以上,,,之前装的jdk8过时了😥
启动起来感觉像以前的swing,写法却舒服的多
2021-12-03 20:16
1
回复
举报
您好,请问Java语法能用吗?是用来开发哪个端的?
2021-12-03 17:58
0
回复
举报
图形核心是 google 的 skia 库 ( C++ 编写,安卓平台和 chrome 已经用了很多年了)。Jetpack Compose 最开始是与 Google 一起开发给 Android 用的,现在 jetbrains 把他扩展到所有主流平台了.
(PS: Flutter 可以退出舞台了, 各方面都完爆 Flutter)
2021-12-03 16:00
6
回复
举报
你先去了解下…😂,flutter也是基于skia实现的啊…,性能上来说,compose还是基于jvm,与native层的skia交互是有损耗的,安卓版的还是基于view实现的,性能是大问题,还有就是web版的compose还是基于dom实现的,这个又是一个性能问题,flutter的web版本是基于skia-canvas渲染的,脱离了dom层级,只能说compose是安卓声明式ui中最好的选择,但是在跨平台方面上还有很长的路要走,光看性能来说,compose仅仅在桌面端比flutter强,移动端和web端方面完败,还不支持ios😂
2021-12-03 20:14
1
回复
举报
我当然知道 flutter 是 skia 实现,UI 程序性能主要耗在图形处理上,语言交互的影响更是可以忽略,所以他们性能上的差别应该不会有太多区别。
compose/kotlin 完爆 flutter/dart ,主要在于 API 设计和生态。 flutter/dart 用到的技术基本都能在 compose/kotlin 找到,compose的 API 设计还比 flutter 优秀。Flutter 没有 Modifier,稍微调点界面上的东西代码就要爆炸。dart 本身生态不好,与其他语言的交互又差,很多东西都得自己造轮子或者自己去适配API。kotlin 可以无缝与 Java 交互,依托 Java 的生态,很多东西都有现成的东西可拿来用。
2021-12-04 14:44
3
回复
举报
前几个月体验过,很不成熟,特别是win平台,现在发布了正式版不知道咋样,好像没有激情去体验了。
2021-12-03 15:31
1
回复
举报
这个桌面是基于jvm的还是编译成原生机器码啊
2021-12-03 14:52
0
回复
举报
jvm
2021-12-03 16:14
0
回复
举报
是真的厉害
2021-12-03 10:49
0
回复
举报
JetBrains 这几天 都很牛啊
2021-12-03 09:59
0
回复
举报
这才叫垄断啊!
2021-12-03 08:35
0
回复
举报
再来个for android和for ios就行了
2021-12-03 08:16
0
回复
举报
android平台有的
2021-12-03 08:27
0
回复
举报
iOS 有第三方的
2021-12-03 10:57
0
回复
举报
第三方的是指哪一个啊,官方的例子里面,IOS部分的UI代码是使用苹果的声明式语法,已经不是compose了,是kotlin native桥接过去的,很割裂的,如果有第三方的那就完美了
2021-12-04 16:35
0
回复
举报
更多评论
17 评论
10 收藏
分享
返回顶部
顶部