/makepad

Makepad is a creative software development platform for Rust that compiles to wasm/webGL, osx/metal, windows/dx11 linux/opengl

Primary LanguageRustMIT LicenseMIT

Contact

Rik Arends: @rikarends on twitter, https://fosstodon.org/@rikarends#

Eddy Bruel: @ejpbruel on twitter

Sebastian Michailidis: @SebMichailidis on twitter

Our discord channel for Makepad: https://discord.gg/adqBRq7Ece

Most recent talk about makepad: https://www.youtube.com/watch?v=rC4FCS-oMpg

Makepad

Overview

This is the repository for Makepad, a new way to build UIs in Rust for both native and the web.

Makepad consists of Makepad Framework and Makepad Studio.

Makepad Framework is our UI framework. It consists of multiple crates, but the top level crate is makepad-widgets. For a further explanation of Makepad Framework, please see the README for that crate.

Makepad Studio is a prototype of an IDE that we've built using Makepad Framework. It's still under heavy development, but our eventual goal with Makepad Studio is to create an IDE that enables the design of an application to be changed at runtime. The main crate for Makepad Studio is makepad-studio. Please see the README for that crate for more.

Demo links:

makepad-example-fractal-zoom

makepad-example-ironfish

makepad-example-simple

Prerequisites

To build the Makepad crates you first need to install Rust. https://www.rust-lang.org/tools/install

Our native builds work on the stable Rust toolchain. However, some of the errors generated by Makepad at runtime (particulary those originating in our DSL) do not contain line information unless you use the nightly Rust toolchain. Moreover, our web builds only work on nightly for now. For this reason, we recommend that you build Makepad using the nightly Rust toolchain.

For the non standard build targets (ios, android, wasm) we have a buildtool called 'cargo-makepad' that you need to install.

Install it from the repo:

cargo install --path=./tools/cargo_makepad

Or install it from cargo (might be behind the repo)

cargo install cargo-makepad

Now this tool can be used to install toolchains per platform needed

cargo makepad wasm install-toolchain

cargo makepad ios install-toolchain

cargo makepad android --abi=all install-toolchain

Running makepad studio

Makepad studio allows you to easily build and view the examples, and it uses cargo-makepad internally so be sure to install cargo-makepad as shown above.

cargo run -p makepad-studio --release

Or install it from cargo (might be behind the repo)

cargo install makepad-studio

If you build the wasm applications, you can open it on:

http://127.0.0.1:8001/examples/ironfish/src/index.html

http://127.0.0.1:8001/examples/fractal_zoom/src/index.html

http://127.0.0.1:8001/examples/simple/src/index.html

http://127.0.0.1:8001/examples/news_feed/src/index.html

cargo run -p makepad-studio --release