Jetpack Compose:Android全新UI编程
上QQ阅读APP看书,第一时间看更新

从2019年5月Google在I/O大会上公布Compose,到2020年9月发布第一个Alpha版本,再到2021年2月发布第一个Beta版本,间隔了近两年,那么Compose是一个什么样的库,需要这么长的开发周期呢?别着急,下面慢慢道来。

Compose是一个现代化的UI工具包,旨在帮助开发者通过原生平台API简单快捷地在全Android平台上构建精美的应用程序,它能大幅减少代码量并且包含交互式工具,还能使用直观的Kotlin API,为应用程序增添活力。

Compose使用的编程模型与Android现有的构建UI的模型完全不同。从历史上看,Android的视图层次结构一直被描述为UI组件树。随着应用程序状态的变化,需要更新UI层次结构来显示当前数据。更新UI最常用的方式是使用像findViewById这样的方法遍历UI组件树,并通过调用类似下面这些方法来改变节点:

tv.setText(String)
container.addView(View)
img.setImageBitmap(Bitmap)

这些方法会改变组件的内部状态。这不仅乏味烦琐,而且手动更新视图会增大出错的概率(例如忘记更新视图)。Compose是一种完全基于声明式组件的方法,这意味着需要将UI描述为将数据转换为UI层次结构的函数。当基础数据发生变化时,Compose框架会自动更新UI层次结构,从而可以轻松快速地构建UI。

Compose的优点简直数不胜数,大家肯定迫不及待地想要尝试一下了!别着急,在体验之前还需要做一些准备工作。