📄️ 声明式 UI
Ribir 使用基于 Rust 宏的声明式 DSL(领域特定语言)来定义用户界面。这使您能够描述 UI 应该是什么样子,而不是 如何 一步步构建它。
📄️ Widget 系统
Ribir 的 Widget 系统建立在 三个核心 trait 之上:Render、Compose 和 ComposeChild。理解这些 trait 是创建自定义 Widget 和理解 Ribir 如何构建 UI 树的关键。
📄️ 内置属性和 FatObj
Ribir 提供了一个强大的内置属性系统,让您可以为任何 Widget 添加常用功能,如布局控制(margin、alignment)、视觉效果(background、border、opacity、transform)和交互事件(ontap、onhover)。这些功能并非由每个 Widget 单独实现,而是通过一个称为 FatObj 的通用包装器统一提供。
📄️ 状态管理
Ribir 采用数据驱动的方式进行状态管理。您无需手动更新 Widget,只需修改数据(状态),Ribir 就会自动更新依赖于该数据的 UI 部分。
📄️ 数据共享与事件
Ribir 提供了在 Widget 树中共享数据和处理 Widget 间通信的机制。
📄️ 布局系统
Ribir 的布局系统采用“约束向下,尺寸向上”的单遍模型。这与 Flutter 的布局模型非常相似,旨在实现高效且灵活的 UI 布局。
📄️ Ribir Interactive Widget Design Standard
This document defines the standard design paradigm for all interactive widgets in the Ribir framework.