2 分•作者: zionsati•大约 2 个月前
我之前推出了 FUI-AS(AssemblyScript 中的保留模式 UI),这是一个仅限浏览器的画布框架。然而,我的梦想一直是要实现更宏大的目标:为 Web、原生以及 iOS/Android 构建一个保留模式 UI 框架,并提供多语言 SDK。 这是这个梦想的第二个实现。 FUI-RS(Rust 中的保留模式 UI)现在通过相同的 EffinDOM 运行时(与 FUI-AS 相同)在浏览器(包括移动浏览器,因此它拥有广泛的触摸手势支持/事件系统)和原生桌面应用程序中运行相同的保留模式应用程序模型,无需嵌入浏览器,也就避免了 Electron/WebView。支持的主要操作系统包括 Windows (D3D12)、macOS (Metal) 和 Linux (Vulkan)。同时还提供了各自操作系统的打包工具(MSIX、DMG 和 AppImage)。 在 FUI-RS 的演示中,您可以随意体验和感受典型的 Web 应用使用 FUI-RS 的效果。请尝试: - 在 macOS 上使用 VoiceOver(是的,我们的 SDK 支持广泛的语义角色/自定义选项) - 打开页面检查器(Cmd/Ctrl+Shift+F12)并检查镜像的 DOM 元素 - 具有各种选项的多行文本编辑器 - 兼容密码管理器的文本输入框 - 拖放重新排序 - 外部文件拖放区域 - 带进度报告的 Worker - HTTP 请求(POST/GET 演示) - 复制演示中的富文本并粘贴到 Word 文档中 - 具有实时图表和交互式动态纱线的即时模式标签页 - 一个鼠标绘图画布 还有一个演示 10 万行的虚拟列表。 如果您在手机上,捏合缩放、滑动滚动、下拉刷新等功能也能正常工作。 FUI-RS 有何不同? 在 Rust 的 UI 领域,FUI-RS 为那些想要一种简洁、现代、流畅的语法,并且不受 Web 上 HTML/CSS 限制(同时也适用于原生应用,iOS 和 Android 肯定也在我的考虑范围内)的人们填补了空白,并且希望完全使用 Rust 进行编码。相同的 Rust 代码可以在 Web 浏览器中运行,也可以在没有 Electron 或 WebView 的情况下原生运行,为您提供具有持久身份和状态的保留模式控件(您可能已经猜到,我不是 React 及其众多碎片化状态管理库的忠实粉丝)。 通过 crates.io 尝试:[https://crates.io/crates/cargo-fui](https://crates.io/crates/cargo-fui) Cargo-fui 可以脚手架并构建 Web 和原生应用程序。 ```bash cargo install --locked cargo-fui cargo fui new my-app --target universal cd my-app cargo fui dev ``` 还有一个由社区创建的基于 FUI-RS 早期版本的 Galaga 游戏:Galaga-RS - [https://jatm80.github.io/galaga-rs/](https://jatm80.github.io/galaga-rs/) FUI-RS 仓库:[https://github.com/zion-sati/fui-rs/](https://github.com/zion-sati/fui-rs/)
2 分•作者: xDaftTurtle•大约 2 个月前
大家好, 这是我过去十周左右一直在开发的一个项目。Tesserae 是一个用于电子墨水屏的自托管仪表板服务器。 它允许您通过两种方式构建仪表板:一种是基于卡片的编辑器,可以让您在可调整大小的单元格中并排排列不同的组件;另一种是画布编辑器,可以让您在自由形式的画布上拖放元素。您还可以通过 MCP 来驱动画布编辑器,以创建高度精细的仪表板。 在冲动购买了一块 13.3 英寸的 Spectra 6 显示屏后,我一头扎进了这个领域。我当时就想为它编写自己的软件。我想要一个用户友好、可扩展且能够托管多个显示屏的解决方案。 这促成了“文件夹即服务”的架构。添加组件、主题、设备和渲染器,只需将一个文件夹放入 Tesserae 即可。 Tesserae 预装了 30 多个组件,还有一个社区市场,提供了更多组件(尽管其中大部分是我自己构建的)。 这个项目最初是一个人的项目,但现已发展成一个小社区,有贡献新硬件固件、错误修复、功能开发,甚至还有一个开源的 iOS 应用的人员加入。 目前 Tesserae 支持 10 多种不同的面板/设备。 这一切都离不开 AI 的协助。 我还需要补充一点,Seeed 为我提供了开发硬件,但没有涉及金钱交易。 Tesserae 是 AGPL 许可的,还有一些粗糙之处,因此欢迎提交问题和拉取请求。 谢谢!