前言

在学习compose 中,最好的材料是官方文档,但是在学习官方文档时,容易由于语言的差异性,导致概念容易出现混淆,所谓根底不牢,地动山摇。记录一篇博文,给自己和需要的朋友参考。

什么是 Compose ?

compose 全称 Jetpack Compose 是被Google推荐用于构建原生 Android 界面的新工具包。它可简化并加速 Android 上的界面开发,使用更少的代码、强大的工具和直观的 Kotlin API,快速打造生动而精彩的使用。

一句话,Android 推出新的原生声明式 UI 框架叫 compose

什么是 composable ?

composable 可组合函数 有时分官方也称之为 可组合项 是 composable functions 的简称,这些函数会有一个 @composable 的注解,用官方的话来说是 —— Jetpack Compose 是环绕可组合函数构建的。这些函数可让您以程序化方法界说使用的界面,只需描述使用界面的外观并供给数据依赖项,而不用关注界面的构建过程(初始化元素、将其附加到父项等)。如需创立可组合函数,只需将 @Composable 注解添加到函数称号中即可。

什么是 Composition ?

没错,这玩意儿才是真实的 组合 (n,名词)

或者说,官方一直说的组合就是这个玩意儿,那组合究竟是什么呢?

A Composition describes the UI of your app and is produced by running composables. The Composition is a tree-structure that consists of the composables that describe your UI.

Composition 将描述使用的界面,Composition 是一个树形结构,由可组合项 ——composables 组成 ,确切的说,组合是经过运转可组合项来生成的。

什么是 Initial composition ?

Creation of a Composition by running composables the first time.

前面咱们学习到,组合是经过运转可组合项来生成的。这儿给了补充 ———— 经过初次运转可组合项来创立组合。

官方将这个行为称为 Initial composition 初始组合。

什么是 Recomposition / Recompose ?

即重组,重组其实就是再次运转(或者说重新运转)可组合项来更新组合。咱们知道,在可组合项的状况发生改变的时分,可组合项会进行重组。

组合只能经过初始组合生成且只能经过重组进行更新。重组是修改组合的仅有方法。

Next?

在搞清楚这些根底且十分重要的概念之后,咱们再学习基于此更高一层的概念时,方能做到通透贯彻,比方:

  • 什么是 可组合项 的声明周期?可组合项被添入组合,执行 0 次或多次重组,然后退出组合。

  • 在讨论有状况无状况时咱们说的是什么?咱们说的是可组合项是否有状况

  • remember 将状况寄存到哪里?寄存在可组合项中? no no no 是 寄存在 组合 composition 中。

总结

Compose 是 Android 的全新技能,可也推出2年了,碍于客户端的没落,学习材料相对匮乏,一些根底性的概念自己匆匆撇过导致学习过程中走了不少傍门,回头看文档时,才知道自己的了解出了岔子。看来在技能的路上,还是要做到切勿好高骛远,一定要脚踏实地。