Giter Site home page Giter Site logo

linecode / makepad Goto Github PK

View Code? Open in Web Editor NEW

This project forked from makepad/makepad

0.0 0.0 0.0 9.04 MB

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

Home Page: http://makepad.dev/

License: Other

Shell 0.14% JavaScript 1.33% Python 0.40% C 0.01% Objective-C 0.01% Rust 98.05% CSS 0.02% HTML 0.05% Batchfile 0.01%

makepad's Introduction

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

makepad-example-numbers

Prerequisites

NOTE: At the moment, we only support Mac and web. We however have most of the code for Windows and Linux already there and it will be supported in the near future.

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.

In order to install the nightly Rust toolchain, run: rustup toolchain install nightly

For our web builds you need to install the wasm32 compilation target:
rustup target add wasm32-unknown-unknown --toolchain nightly\

And then add the rust std library source for compiling the threads and wasm features:
rustup component add rust-src --toolchain nightly

Build Instructions

The build instructions you see here are for Ironfish, a feature rich synthesizer, and the first real example application for Makepad Framework. Ironfish is also available as a standalone crate at: [https://crates.io/crates/makepad-example-ironfish].

Make sure you have all the prerequisites above installed first!

Native

To build and run the native version of Ironfish, run the following command from the root directory of the repository: cargo +nightly run -p makepad-example-ironfish --release -F nightly

Web

To build the web version of Ironfish, run the following command from the root directory of the repository: tools/build_wasm_thread.sh makepad-example-ironfish

After the build is complete, run the following command to start our web server: cargo run -p makepad-web-server --release

After starting the web server, the web build of Ironfish should be available here: https://127.0.0.1:8080/makepad/examples/ironfish/src/index.html

Contact

If you have any questions/suggestions, feel free to reach out to us on our discord channel: https://discord.gg/F3Yz7aWt

makepad's People

Contributors

eddybruel avatar ejpbruel2 avatar makepaddev avatar okapii avatar stijnkuipers avatar visualizersdotnl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.