分享一个我们自己开发的 Rust 跨平台 GUI 框架

查看 12|回复 0
作者:poogo   
我们开发的 Rust GUI 框架 Ribir 开源了,感兴趣的朋友可以来看看。https://github.com/RibirX/Ribir 。
相关文档: https://ribir.org/zh/docs/introduction/
Ribir 是什么
Ribir 是基于 Rust 开发的跨平台 GUI 框架,它的核心设计理念是应用程序 UI 的构建对数据结构逻辑是非侵入式的。
Ribir 的设计架构如下:

构建非侵入式的 GUI 应用
应用程序的数据结构是核心,不应该和 UI 逻辑耦合,UI 只是对数据结构的表达。使用 Ribir 进行应用程序开发,可以先设计应用程序的数据结构,再根据数据结构提供的 API 对应用程序的 UI 进行描述。
  • 没有其他状态
  • 没有额外的通知机制
  • 没有任何需要继承的基类
  • 没有其他限制

    为什么选择 Rust
    我们的目标是构建可本地编译的高性能跨平台框架,于是我们有了两个选择:C++ 和 Rust 。
    最初我们倾向于 C++,因为 C++ 有更成熟的生态系统,而且我们有多年基于 C++ 开发大型工具的经验。
    但最终我们选择了 Rust ,两个核心原因:
  • Rust Trait:Rust 的 Trait 设计非常符合我们非侵入式设计的理念
  • Procedure macro:我们使用 Rust 的过程宏进行 DSL 实现而无需借助额外的工具。它与 Rust 的工具链结合使用时,提供了开箱即用的解决方案,增强了整体的开发体验。

    Ribir 现状
    目前 v0.1 版本完成核心框架设计,我们可以使用它构建示例应用,并且开发了一些应用程序,我们对它的使用体验感到满意。
    但 Ribir 仍然处在非常早期的阶段:
  • 我们只是在有限的环境中测试和使用它,暂时无法应用到生产环境中。
  • 存在一些已知问题,包括内存泄漏和性能问题,仍然需要解决。
  • API 不稳定,可能在下一版本中被废弃。

    我们希望有更多人来尝试它并向我们提供反馈,让我们更好地完善它。
    下一步计划
    接下来我们会重点关注:
  • WebAssembly 支持,构建 Web 应用程序。
  • 稳定核心 API 。

    反馈
    欢迎大家关注我们的项目,我们会不定期发布变更,详细的变更信息可以在 Ribir 变更日志中找到。
    也欢迎大家在GitHub上关注我们的项目,并提供反馈信息。
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部