GUI 引擎
概述
DejaOS 适配了带屏幕的嵌入式设备,因此需要图形界面支持。我们选择了开源图形库 LVGL(Light and Versatile Graphics Library)作为核心 GUI 引擎。
LVGL 是一个专为资源受限设备设计的轻量级 GUI 框架,具有丰富的图形控件、灵活的样式系统和极低的内存使用。它广泛应用于智能家居、工业控制、消费电子等嵌入式领域。

虽然 LVGL 本身是用 C 语言开发的,但在 DejaOS 中,我们将其与 QuickJS 引擎集成,让开发者可以直接使用 JavaScript 构建界面,大大降低了开发门槛。
LVGL 的主要特性
- 轻量高效:可在仅几百 KB 内存的设备上流畅运行,适合低功耗嵌入式环境。
- 丰富控件:内置按钮、标签、图表、滑块、列表等 UI 组件,可快速构建复杂界面。
- 可定制样式:支持主题系统和样式定制,便于创建统一美观的视觉体验。
- 跨平台可移植:支持各种 MCU 和操作系统,适配 LCD、OLED 等显示接口。
- 活跃社区支持:丰富的文档、示例和论坛,帮助开发者快速上手和扩展。