当前位置: 首页>后端>正文

弄清 Jetpack Compose 中的一些新概念

作者:ALuoBo

前言

在学习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年了,碍于客户端的没落,学习资料相对匮乏,一些基础性的概念自己匆匆撇过导致学习过程中走了不少歪路,回头看文档时,才知道自己的理解出了岔子。看来在技术的路上,还是要做到切勿好高骛远,一定要脚踏实地。


https://www.xamrdz.com/backend/3ca1938373.html

相关文章: