SlintRust 原生 GUI 工具包

联合创作 · 2023-09-28 06:03

Slint 是一个用于为桌面和嵌入式设备构建原生 GUI 的综合工具包,基于 Rust 实现。

使用 Slint,可以为各种操作系统和处理器架构开发 UI:

  • Linux(桌面和嵌入式)、macOS、Windows、WebAssembly、Blackberry QNX,甚至裸机(没有任何操作系统)
  • ARM Cortex-M 和 Cortex-A、Intel x86、RISC-V、Cadence Tensilica 等。
  • 软件渲染或硬件加速图形 API,例如 OpenGL ES。

在浏览器中查看 DEMO (通过 WebAssembly )

Slint 支持多种编程语言,例如 Rust、C++ 和 JavaScript。

轻量级

使用 Slint 构建的图形应用程序可以在内存小于 300 kB 的系统上运行,例如带有 264kB 内部 RAM 和 ARM Cortex-M0+ 处理器的 Raspberry Pi Pico。这使得 Slint 非常适合为嵌入式设备开发应用程序的 UI。

声明式编程

Slint 开发团队在构建它时就考虑到了可扩展性、包容性、工具性和跨平台兼容性,因此 Slint 是完全跨平台,且使用声明式编程来简化 UI 的开发:

  • UI 以声明性语言描述,使用的语法提供了一种广泛的方式来描述各种图形元素,同时易于阅读、编写和学习。
  • Slint 编译器将 UI 描述优化并翻译成本地代码
  • 可以使用任何语言编写的业务逻辑,然后使用 Slint 提供的特定于语言的 API 与其 UI 连接

以下 Slint 强制性的“Hello World”:

export component HelloWorld inherits Window {
    width: 400px;
    height: 400px;

    Text {
       y: parent.width / 2;
       x: parent.x + 200px;
       text: "Hello, world";
       color: blue;
    }
}

使用

为了加快 UI 开发过程,Slint 提供了代码完成、导航、重构和语法突出显示的工具支持。在开发和完善 UI 时,Slint 的实时预览会实时显示更改以提供即时反馈。

Visual Studio Code,则可以直接从 VS Code 市场安装 Slint 扩展。它适用于 macOS、Linux 和 Windows 的 VS Code,以及 Web 的 VS Code。要通过语言服务器协议集成到其他 IDE,请参阅 README 中的说明。

还可以使用 SlintPad 在 Web 浏览器中试用 Slint (SlintPad 是一个具有实时预览功能的在线编辑器)。

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报