5个不稳定版本

0.16.2 2023年11月1日
0.16.1 2023年10月23日
0.16.0 2023年10月18日
0.15.0 2023年9月14日
0.6.0 2023年4月19日

#123 in WebAssembly

Download history 18/week @ 2024-04-21 81/week @ 2024-04-28

57 每月下载量

Elastic-2.0

1.5MB
27K SLoC

Contributors Issues Chat Build Version Twitter LinkedIn


wick logo

一个适用于在服务器和客户端上运行的WebAssembly组件的功能框架。
探索文档

安装 · 报告错误 · 请求功能

目录
  1. 关于项目
  2. 入门
  3. 使用
  4. 路线图
  5. 贡献
  6. 许可证
  7. 联系方式
  8. 致谢

关于项目

Wick是一个运行和组合WebAssembly组件作为完整应用程序的运行时。Wick是用❤️,Rust和Wasm构建的。

(回到顶部)

为什么选择Wick?

我们创建了wick,因为我们想要一个安全、快速的功能框架,其核心组件模型为WebAssembly。我们想要构建可以在服务器、客户端和其他任何地方运行的应用程序和库。我们需要它首先异步、流式传输,且不依赖外部系统。令人惊讶的是,这样的东西不存在,所以我们创建了它。

谁应该使用Wick?

如果你

  • 喜欢函数式编程思想。
  • 想要编写一次代码,并在任何地方以相同的方式使用它。
  • 喜欢将安全性内置于你的应用程序中。
  • 构建了足够的软件,以认识到每个人都在解决同样的问题。
  • 在技术的最前沿玩耍。

那么Wick适合你。

演示/示例

Wick在线演示

组件示例的公共仓库

Wick的示例目录

入门

您需要wick二进制文件来运行Wick应用程序或调用Wick组件。您可以使用以下方法之一进行安装

安装

选择您的安装偏好

  1. Cargo
  2. Homebrew
  3. 预构建的二进制文件
  4. 从源代码安装

使用Cargo安装

cargo install wick-cli

(回到顶部)

使用Homebrew安装

brew install candlecorp/tap/wick

(回到顶部)

安装预构建的二进制文件

Mac/Linux
curl -sSL sh.wick.run | bash
Windows
curl https://ps.wick.run -UseBasicParsing | Invoke-Expression

(回到顶部)

从源代码安装

git clone https://github.com/candlecorp/wick.git && cd wick
just deps # install necessary dependencies
just install # or cargo install --path .

(回到顶部)

使用

Wick的原始WebAssembly组件协议使用RSocket来支持WebAssembly中的复杂、丰富的流。

Wick支持标准WebAssembly组件模型的不同程度,并且随着规范的稳定,将继续支持更多。

构建WebAssembly组件

  • 使用cargo generate(或git clone)克隆模板
  • 使用just build构建和签名它
  • 使用wick invoke执行您的新库组件
$ cargo generate candlecorp/wick templates/rust --name my-project
$ cd my-project
$ just build
$ wick invoke component.wick greet -- --input="$USER"
{"payload":{"value":"Hello, jsoverson"},"port":"output"}

我们不断在./examples目录中添加示例,我们还将其用作集成测试的基础。

有关更多信息,请参阅文档

(回到顶部)

贡献

贡献使得开源社区成为一个如此令人惊叹的学习、灵感和创造的地方。您所做出的任何贡献都将被高度重视

如果您有改进此项目的建议,请fork存储库并创建一个pull request。您也可以简单地通过标签“enhancement”打开一个问题。别忘了给项目点个star!再次感谢!

  1. Fork项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开一个pull request

(回到顶部)

许可证

Wick在Elastic License 2.0和Apache-2.0许可下分发。有关更多信息,请参阅LICENSE和各个crates的详细信息。

(回到顶部)

联系方式

@candle_corp - [email protected]

项目链接:https://github.com/candlecorp/wick

(回到顶部)

依赖项

~117MB
~2.5M SLoC