This sample app can be modified to run in 3 different "modes":
- Widgets mode - shows a few basic widgets such as buttons, button actions, labels, text input, and drop downs
- Layout mode - shows buttons in different locations on screen using row, column type layout
- Slider mode - shows a "slideshow" view which includes both above modes.
This project uses the makepad development branch of "rik" It assumes that the project is installed in a parallel directory as makepad and that makepad is accessible via '../makepad' (update in Cargo.toml if otherwise)
Follow step 1 commands below for initial setup of the Makepad build and run environment. After step 2, you may choose any one or more of the platforms you're interested in building for.
Replace projects
with your own directory name.
cd ~/projects
git clone [email protected]:makepad/makepad.git
cd ~/projects/makepad
git branch rik
cd ~/projects/makepad
cargo install --path ./tools/cargo_makepad
cd ~/projects
git clone https://github.com/project-robius/makepad_widgets_sample
Running on Desktop is the quickest way to try out an example app.
cd ~/projects/makepad_widgets_sample
cargo run
or
cd ~/projects/makepad_widgets_sample
cargo run -p makepad_widgets_sample --release
And there should be a desktop application window now running (may need to click on the icon on MacOS's Dock to show it)
rustup toolchain install nightly
cargo makepad android install-toolchain
Open either the Android emulator or connect to a real Android device
use adb
command to make sure there's a device connected properly
cd ~/projects makepad_widgets_sample
cargo makepad android run -p makepad_widgets_sample --release
rustup toolchain install nightly
cargo makepad ios install-toolchain
For iOS, the process is slightly more complicated. The steps involved are:
- Enable your iPhone's Developer Mode, please see instructions here: Enable Developer Mode
- Setup an Apple Developer account
- Setup an empty skeleton project in XCode
- File -> New -> Project to create a new "App"
- Set the Product Name as
WidgetsSample
(used in --org later) - Set the Organization Identifier to a value of your choice, for this example we will use
rs.robius
. (used in --app later) - Setup the Project Signing & Capabilities to select the proper team account
- In XCode, Build/Run this project to install and run the app on the simulator and device
- Once the simulator and device has the "skeleton" app installed and running properly, then it is ready for Makepad to install its application.
We will run the cargo makepad ios
command, similar to Android build above, but there are some 3 to 4 additional parameters that need to be filled in:
--org-id
This is the value of the ApplicationIdentifierPrefix in the **.mobileprovision
file located in the ~/Library/MobileDevice/Provisioning Profiles
directory.
It should be a 10 digit alphanumeric value.
--org
First few parts of the organization identifier (which makes up the Bundle Identifier). Usually in the form of com.somecompany or org.someorg This is the same value used to setup the initial skeleton app above. For this example:
rs.robius
--app
The name of the application or the project. This is the same as the Product Name used to setup the initial skeleton app above. In this case:
WidgetsSample
--ios-version
(optional)
defaults to 17. Set it to 16 or other values if the device is not running iOS 17.
For this example, we have the Bundle Identifier of rs.robius.WidgetsSample
cd ~/projects/makepad_widgets_sample
cargo makepad ios --org=rs.robius --app=WidgetsSample run-sim -p makepad_widgets_sample --release
cd ~/projects/makepad_widgets_sample
cargo makepad ios --ios-version=16 --org-id=<ORGIDVALUE> --org=rs.robius --app=WidgetsSample run-device -p makepad_widgets_sample --release
Coming Soon