声明式UI

  • 声明式(Declarative) UI: 你只需要声明界面状态和结构,框架会根据数据变化自动更新 UI,而不需要你手动控制每一步的绘制和修改.

声明式 UI 的特点

  • 关注结果:描述“界面长什么样”,而不是“怎么一步步构建”。
  • 响应式更新:当数据变化时,UI 会自动刷新,不需要手动更新控件。
  • 简洁:代码更短、更直观。
  • 可维护性强:逻辑和界面绑定更紧密,减少状态同步的麻烦

解释 JetpackCompose的重组(Recomposition)

  • 重组(Recomposition): 当数据或状态发生变化时,Compose 重新执行相关的 Composable 函数,以更新 UI 的过程.更新的是界面的一部分,而不是整个界面.
  • 重组(Recomposition) = 当状态变化时,Compose 重新运行 Composable 函数来更新 UI.

命令式UI

  • 命令式(Imperative) UI: 你要一步步告诉系统怎么做, 比如“先创建一个按钮, 再设置颜色,再添加点击事件”.