跳到主要内容

路线与选型

这页用于收纳原先零散的 GUI 总结、轻量级框架记录和短笔记。

先看结论

不同路线的适用边界

Qt

  • 优点是工程体系成熟,控件、Designer、QML、跨平台支持都比较完整。
  • 缺点是体系较大,学到后面很容易从 GUI 一路扩展到网络、数据库、OpenGL、音视频等整套应用开发。
  • 适合业务桌面软件、上位机、需要完整工程能力的客户端应用。

React

  • 更适合 Web 前端和文档站点类项目。
  • 生态和脚手架都很成熟,但也更依赖前端工程体系。
  • 适合需要浏览器分发、多人协作和组件化页面开发的场景。

SDL

  • 更像底层基础设施,不直接提供完整业务控件体系。
  • 适合自己掌控窗口、输入、渲染循环,或给其他媒体/图形库打底。
  • 常见于播放器、图形实验、跨平台轻量程序。

LVGL

  • 适合 MCU、精简 Linux、嵌入式设备等资源受限环境。
  • 优点是轻量、可移植,适合在 PC 侧先做模拟调试,再迁到目标板。
  • 更适合确定硬件边界后的专用界面,不适合作为通用桌面框架。

轻量级和特殊形态 GUI

FTXUI

  • 终端 UI 库,适合命令行程序做交互界面。
  • 关键词是 ScreenDomComponent
  • 更适合工具软件和开发辅助界面,不适合复杂图形应用。

RmlUi

  • 使用 HTML/CSS 风格描述 UI,对有 Web 背景的人更友好。
  • 适合游戏或引擎内嵌面板,不依赖浏览器。

Dear ImGui

  • 即时模式 GUI,优势是集成快、适合调试工具和编辑器。
  • 更偏开发者工具,不适合做强视觉一致性的最终用户界面。

个人经验提炼

  • GUI 开发本身只是入口,后面很快会牵连到构建、资源管理、网络、数据库和调试。
  • 真正有复用价值的内容,不是“会不会画按钮”,而是框架边界、调试路径和工程组织方式。
  • 同一类问题优先沉淀到已有主题页,不再单独新增很多两三屏就说完的短文。

评论

如果内容有勘误、补充或不同看法,可以直接写在这里。

正在加载留言板…