Jetpack Compose 是 Android 推出的新一代 UI 开发框架,其 API 采用了前端流行的声明式设计思想,有望一举颠覆现有的 Android 开发方式,磨平客户端和前端在开发范式上的差异。
传统的 Android 中,开发者使用 XML 描述布局,然后在 Java 或 Kotlin 中解析 XML
获取 View
对象,并命令式的操作 View 加载数据。 想要把一个数据显示到 UI 上,这整个流程分裂且复杂。
而 Compose 基于 Kotlin 的 DSL 描述 UI,描述 UI 的过程中填充了数据,整个过程一气呵成。
如下面的例子中,我们通过 Column
布局显示一组 MessageList
@Composable
fun MessageList(messages: List<String>) {
Column {
if (message.size == 0) {
Text("No messages")
} else {
message.forEach { message ->
Text(text=messag)
}
}
}
}
打一个不恰当谐的比方,把一头大象放到冰箱以前需要三步,现在只需要一步,即大象从小就放在冰箱中养大😂
Jetpack Compose 于 2019年的 Google I/0 上首次发布依赖,历经多个 Alpha 版本, API 几经调整一直不够稳定,还无法在很多正式项目中落地。
在经过了低调的一年多时间的研发,今年起 Google 突然加大了 Compose 的宣传力度, 先是在 2月 发布了首个 Beta 版本,并同时举办了一系列 Compose 挑战赛活动,这让这项新技术短时间内得到了大量的曝光
接着在今年 Google I/O 大会上, Google 宣布了将于 7 月发布 1.0 稳定版本的消息,同时各地的 GDG 组织也开始举办各种 Compose 分享活动。而就在近日,开发者发现 Compose 将代码升级版本升级到了 RC1 版本,这意味着 1.0 的正式版将随时出现。
今年以来 Google 为 Compose 举办的一系列活动一方面是为了即将发布的 1.0 版本造势,同时也反映出 Google 对这项新技术的信心之大。 相对于 Android 现有的开发方式,Compose 的开发效率明显更高,相信未来会有越来越多产品采用这项新技术改善团队的开发效率。