官网地址:https://makepad.nl/
仓库地址:https://github.com/makepad/makepad
🚧 目前较活跃的分支的
rik
, 建议您基于rik
分支进行查看以便获得最新的makepad
支持
Makepad 之书,面向 Makepad 应用开发者和贡献者,系统地介绍了 Rust 跨平台 Makepad UI 框架的方方面面。
Makepad 是一个用 Rust 编写的开源跨平台 UI 框架,并配有功能强大的创作应用程序 Makepad Studio。这种组合为用户界面开发提供了一种简化的方法,使开发人员和设计人员能够轻松创建现代、高性能的应用程序。
Makepad 是使用 Rust 构建的,Rust 是一种现代、安全的编程语言。它可在本机和网络上运行,支持包括 Windows、Linux、macOS、iOS 和 Android 在内的所有主流平台。
Makepad 以其超快的编译速度著称,可确保高效、无中断的开发体验。
Makepad 用户界面基于着色器。这确保了它的高性能,使其适用于构建复杂的应用程序,如类似于 Photoshop 的应用程序,也适用于 2.5D UI,如 VR/AR 应用程序中的 2.5D UI。
与 HTML 相比,该框架通过使用即时模式和简单的 DSL 简化了样式,无需复杂的 DOM 或 CSS。它还提供对 GPU 的直接访问,提供更多控制和灵活性,同时避免了与垃圾回收相关的问题,确保更流畅的性能。
Makepad 最突出的功能之一是实时样式化,它允许在代码中立即反映用户界面的变化,反之亦然,无需重新编译或重启。这一功能大大缩小了开发人员与设计人员之间的差距,提高了整体工作效率。 Makepad Studio 将这一切与自己的集成开发环境和类似 Figma 的可视化工具结合在一起,让设计师可以直观地直接在实际产品上工作。
另一个关键组件是 Stitch,它是一个基于 Rust 的实验性 WebAssembly(WASM)解释器。Stitch 以其卓越的速度和轻量级性能而闻名,目前被认为是最快的 WASM 解释器。[待定:在 Makepad 中使用。Superapps,扩展系统,允许在不牺牲性能的情况下插入构件......]
Makepad 诞生于六年前(2019),可以查看 makepad history 仓库了解 makepad 的最初设想。
Makepad 的作者是 Rik Arends。这个名字也许很多人不熟悉,但是你一定听过 Cloud9 IDE 和 ACE 代码编辑器。
Cloud9 IDE: 成立于 2010 年,在 2016 年卖给了亚马逊。它是一种云 IDE,一个基于云的开源集成开发环境。它支持超过40种语言,包括:PHP和Ruby,Python和JavaScript/Node.js。它几乎完全用JavaScript编写,并使用Node.js上后端。
Ace:一个用JavaScript编写的独立的代码编辑器。其目标是创建一个基于Web的代码编辑器,与现有的本地编辑器(如TextMate、Vim或Eclipse)的功能、可用性和性能相匹配并加以扩展。它可以很容易地嵌入到任何网页和JavaScript应用程序中。Ace是作为Cloud9 IDE的主要编辑器和Mozilla Skywriter项目的继承者而开发的
Rik Arends 在创造这两个产品的时候,使用基于 HTML/CSS/Javascript 的 常见 Web 前端技术,他认为使用 HTML 作为 IDE 的 UI 简直是疯了,他深受折磨。比如,他最想做的代码折叠动画,用 HTML 等前端技术做起来非常困难。
基于 Web 前端技术性能也非常慢,所以他就想用 Rust 重新实现一个 Native 的 UI 框架。
下面视频中展示的 demo 是这个愿景的演示。
可以访问 https://github.com/acyanbird/makepad-book-simple 来本地运行此 demo
在线体验(旧版),可以访问 https://makepad.dev/
此链接展现的并非最新的 makepad studio 版本,您可以从这里下载最新版本。
可以看到视频里:代码、3D树、设计图标都可以做到实时联动效果,视频最后还展示了惊艳的代码折叠动画效果。
为了达到这样的愿景,Makepad
提供了两大组成部分:
软件应该令人愉悦
当开发人员专注于他们的专长时,质量会得到提升。Makepad 的设计编辑器将让设计师们自己将用户界面提升到一个新的水平。
应用程序下载应该快速
对于也在网络上运行的产品来说,文件大小至关重要。Makepad 项目体积小巧。
工作应该只做一次
编写特定于跨平台的代码既耗时又费力。Makepad 项目在 Web 和原生平台上共享相同的代码。
告别原型设计
当开发人员专注于他们的专长时,质量会得到提升。Makepad 的设计编辑器将让设计师们自己将用户界面提升到一个新的水平。
工作流程应该简化
将一个绝妙的想法付诸实践的兴奋感值得被保护。Makepad 无阻碍的开发体验保护了开发者的动力。
开发应该不间断
快速的编译时间可以保持思维的流畅。Makepad 证明了 Rust 可以令人惊叹地快速编译 —— 而且它的设计系统甚至是即时的。
世界上不存在完美的技术栈,一切都只是权衡,Makepad 也是在这种不断的权衡之下发展的。它也有自己的优势和劣势。
着色器来渲染 UI 样式
,是因为高性能,且着色器功能非常强大。Makepad 还采用了混合即时模式(Hybrid immediate mode,交替使用即时模式和保留模式)。
Makepad 也重新实现了渲染栈(render stack)