Ract

Github: https://github.com/Privoce/ract

Releases: https://github.com/Privoce/ract/releases

Ract 是一款用 Rust 编写的会话式 CLI 工具,旨在通过提供一体化解决方案来简化开发过程:

  • 集成依赖项
  • 设置环境
  • 生成项目模板
  • 运行和打包项目

Ract 具有最少的参数和直观的基于对话框的界面,支持 GenUI 和 Makepad 等框架,使您的开发工作流程顺畅高效。 🚀

TIP

Ract是您开启GenUI之路的第一步,请选择最新的版本进行下载

在本文档中我们只讲授Ract对GenUI项目的命令与使用(尽管他们只有微小的差异),对Makepad项目的使用请参照: Ract Makepad

🛠️ 配置

WARNING

您的计算机可能会提示安全问题,请选择允许

当前Windows系统的打包问题尚未解决

您可以通过以下方式将 ract 配置为全局命令:

Macos | Linux
Windows
1# copy download ract to /usr/local/bin
2sudo cp /path/to/download/ract /usr/local/bin/ract/ract
3
4# add permission
5sudo chmod 755 /usr/local/bin/ract
6sudo chmod 755 /usr/local/bin/ract/ract
7
8# confirm permission
9sudo chown -R $(whoami) /usr/local/bin/ract
10
11# echo to .zshrc
12echo 'export PATH="/usr/local/bin/ract:$PATH"' >> ~/.zshrc
13
14source ~/.zshrc
15# get version
16ract --version

🚀 使用

init - 初始化Ract

初始化或重置 CLI。Ract 将生成:

  1. .env
  2. chain/
    • chain/env.toml
1ract init

输出:

1🚀 Start to init ract...
2✅ Chain init successfully!
3🎉 Init ract successfully!

check - 检查工具链

检查是否安装了所需的工具和依赖项。选项包括:

  • Basic:[cargo、rustc、git]
  • Underlayer:[makepad (gen_ui、makepad)]
  • All:结合基本工具和底层工具。
1ract check

交互式对话框示例:

1🥳 Welcome to use ract checker!
2? Which you need to check?
3> Basic
4  Underlayer
5  All

install - 安装工具链

安装开发所需的工具和依赖项。可用选项:

  • Rust 工具rustccargo
  • 版本控制git
  • Makepad 专用工具:包括 gen_componentswasm_build 等组件。
1ract install

交互式对话框示例:

1🥳 Welcome to use ract Install!
2
3🔸 Select the tools to install:
4  - rustc
5  - cargo
6  - git
7  - makepad tools (default or custom options)
8? What tools you want to (re)install?
9> [ ] rustc|cargo
10  [ ] git
11  [x] makepad

config - 配置CLI

设置或更新环境变量和 CLI 配置。

TIP

多数情况下,你无需进行相关配置,除非原先就带有Ract相关依赖需要进行特殊指向时

1ract config

交互式对话框示例:

1🥳 Welcome to use ract config!
2
3🔸 env: Set the `path` for the chain env.toml file
4🔸 chain_env_toml: Set the rust dependency for GenUI toolchain
5
6> Which env file do you want to config? chain_env_toml
7> Get or Set Config? set
8> Which one do you want to config? makepad-widgets
9> Path: /Users/shengyifei/projects/makepad/makepad
10🎉 Config finish!

create - 创建GenUI或Makepad项目

Ract 将根据用户输入的配置构建 Makepad 或​​ GenUI 项目模板

create 将帮助您检查当前环境状态

1ract create

交互式对话框示例:

1❤️ WELOCME TO GENUI, ract is a build tool for you!
2
3> Which project you want to create? gen_ui
4> Project name: test1
5> Authors name: John
6> ...
7🎉 Your project has been created successfully!

run - 运行项目

运行MakepadGenUI项目。

1ract run

add - 添加开发插件


wasm - 在浏览器中运行WASM项目

直接从 CLI 构建并运行 WASM 项目。

1ract wasm

交互式对话框示例:

1🥳 Welcome to use ract wasm!
2
3🔸 Port for the web studio 8888
4📦 wasm is being packaged
5🚀 wasm is being started...
6Starting webserver on 127.0.0.1:8888

pkg - 打包项目

使用“cargo-packager”打包项目。

1# 进入编译后的包
2cd src_gen_0
3
4ract pkg

交互式对话框示例:

1🥳 Welcome to use ract packager!
2
3🔸 gpiler will check and install `cargo-packager` if not present.
4🔸 Basic packaging configuration is auto-generated.
5? Select how to package the project: init
6🎉 Package resources have been generated!

🎯 功能

核心功能

  • 初始化:自动生成 .env 和环境模板。
  • 工具链检查:验证是否安装了所有依赖项。
  • 交互式安装:仅安装所需的工具。
  • 环境配置:灵活配置环境路径。
  • 项目运行:使用单个命令运行 Makepad 或 GenUI 项目。
  • WASM 支持:在浏览器中构建和提供 WASM 项目。
  • 项目打包:简化分发打包。
  • watcher:监视更改以进行自动重新加载。
  • logger:用于调试的高级日志系统。

未来功能

  • 更好的终端 UI:使用 ratatui 优化终端 UI。
  • 跨平台打包:简化多个平台的构建。
  • 文档:包括一本用于学习 Makepad 和 GenUI 的综合书籍。
  • 远程服务:启用 Ract 调用一些远程服务。
  • 自动更新:自动更新到新版本。

Ract 让您使用 MakepadGenUI 进行基于 Rust 的开发更加轻松、快捷和高效。🎉

欢迎贡献或分享反馈以帮助我们改进!😊