6 个版本 (3 个重大更改)

0.4.0 2020年12月2日
0.3.2 2020年10月20日
0.2.0 2020年10月10日
0.1.0 2020年9月25日

#984 in 过程宏

Download history 25/week @ 2024-03-12 22/week @ 2024-03-19 28/week @ 2024-03-26 60/week @ 2024-04-02 18/week @ 2024-04-09 21/week @ 2024-04-16 33/week @ 2024-04-23 20/week @ 2024-04-30 25/week @ 2024-05-07 23/week @ 2024-05-14 20/week @ 2024-05-21 19/week @ 2024-05-28 20/week @ 2024-06-04 20/week @ 2024-06-11 25/week @ 2024-06-18 20/week @ 2024-06-25

90 每月下载量
10 个crate中使用了 (2 直接使用)

MIT 许可证

48KB
1K SLoC

Polyhorn

一个用于在Rust中快速构建跨平台应用的库 🦀。

Polyhorn 是一个用于构建用户界面的Rust库。对于熟悉React或React Native的用户,这个库在目的上非常相似。

它还附带自己的命令行界面,这使得启动新项目和构建、运行现有项目变得很容易。

口语上,两者都被称为Polyhorn。


🚧 警告: Polyhorn仍然是一个非常正在进行中的项目,这意味着在其官方发布之前,可能会有许多重大更改和缺失的功能(对此表示歉意)。


开始使用

安装

Polyhorn的安装简单,只需几秒钟。如果你是Rust的新手,你还需要按照下面的步骤1安装Rust。如果你已经在使用Rust,你可以跳过步骤1,并按照步骤2安装Polyhorn。

  1. 如果你还没有安装Rust,请使用rustup安装Rust。

    $ curl -sSf https://sh.rustup.rs | sh
    
  2. 现在,使用cargo(Rust提供的包管理器)安装Polyhorn。

    $ cargo install polyhorn
    

开始一个新项目

从我们内置的模板之一开始一个新项目非常简单。对于几乎空白的工程,运行

$ polyhorn new hello-world

你可以将 hello-world 替换为你的应用程序名称。请确保它只包含字母数字字符和连字符。

这将生成一个具有以下结构的目录

hello-world/
├── .gitignore
├── assets
│   └── .gitkeep
└── src
    └── lib.rs

这是 src/lib.rs 的内容

use polyhorn::prelude::*;

#[derive(Default)]
pub struct App {}

impl Component for App {
    fn render(&self, _manager: &mut Manager) -> Element {
        poly!(<Window>
            <View style=!{
                align-items: center;
                justify-content: center;
                background-color: red;
                height: 100%;
            }>
                <Text style=!{ color: white; }>
                    "Welcome to your Polyhorn app!"
                </Text>
            </View>
        </Window>)
    }
}

polyhorn::render!(<App />);

运行项目

在你的命令行中,导航到你的项目。例如,如果你遵循了上面的说明,你现在应该在 hello-world/ 中。然后,决定你想要在哪个平台上运行。请注意,所有平台共享相同的代码库,所以你不需要提前计划。

在iOS上运行

如果你想在iOS模拟器上运行你的应用程序,运行此命令

$ polyhorn run ios

它将要求你选择一个可用的模拟器。


lib.rs:

用于从程序宏的输入中解析类似CSS结构的crate。

依赖

~1.2–1.8MB
~36K SLoC