写 Rust 代码,领树莓派

2020-07-28 17:12:03 +08:00
 alabulei

创建并发布一个高性能 Node.js 应用程序。开始在个人项目或公司项目中使用”当红炸子鸡“ Rust 吧!

学习 Node.js 、Rust 、与 WebAssembly 的基础知识,参与活动,你将得到免费的树莓派套件(价值 25 美元)以及一个非常 cool 的证书。

本活动由 WebAssembly 中文社区与 Second State 联合主办,奖品由 Second State 赞助提供,欢迎在 GitHub 上了解Second State 的 WebAssembly 虚拟机开源项目 SSVM

关于树莓派与 Rust 、WebAssembly 的结合,下面这篇文章可以帮助你了解更多:

活动规则

获得免费的树莓派和证书,只需要你动点心思,自己写一段 Rust 函数。

具体步骤如下:

  1. 按照 《入门文档:在 node.js 中调用 Rust 函数》 中的示例创建一个简单的 Rust 函数,并在 Node.js app 内运行这个函数
  2. 在 GitHub 上 fork 模板项目并更改其中的 Rust 函数,下面是几个参考示例,或许可以给你带来灵感:

1 数学教育 web app 2 作为 web 服务的图像识别 3 机器学习和可视化

就这个应用写一个小结,描述你做了什么,并将你的项目分享到在朋友圈、公司技术论坛、开发者社区如思否、掘金、V2ex 、CSDN 、开源中国等。

到这里你已经基本完成啦,接下来只需要告诉我们你的成果!

  1. 在 2020 年 8 月 31 日前填写该表单
  2. 根据你所在的城市,我们可能会直接安排发货或请你从电商网站购买套件,我们会给您报销这部分的花费金(最多 25 美金)。

拿到树莓派后,就可以在树莓派设备上运行 Node.js 服务器和 Rust 函数啦 !

除了树莓派套件外,您还将获得基于区块链的证书,该证书将永久展示您的成就和开源贡献。证书如下图:

还在等什么呢?现在就开始吧!

如果你有任何问题,可以通过 GitHub issues 或添加微信:h0923xw 与我们联系。

4380 次点击
所在节点    程序员
14 条回复
darksword21
2020-07-28 17:15:37 +08:00
感觉挺有意思,就是平时没什么时间
rome7054
2020-07-28 17:21:56 +08:00
哪一代的 pi
wdv2ly
2020-07-28 17:33:41 +08:00
25 刀买不到吧
yazoox
2020-07-28 17:59:23 +08:00
Rust 是啥?是那个传说中,要取代 c/c++的语言么?
binbinyouliiii
2020-07-28 18:05:30 +08:00
25 刀,国内买不到,而且是低配
hardname
2020-07-28 18:48:44 +08:00
准备试试~🤣
maoxs2
2020-07-29 00:04:56 +08:00
据我所知的 rs 上的 wasm runtime 就已经有 wasmer 和 wasmtime 了,wasmer 起步早社群强,wasmtime 背景强……这个 ssvm 和他们有啥区别?另外现在 wasm 的各种拓展的 proposal 你们是做了哪些的?
alabulei
2020-07-29 10:05:34 +08:00
@rome7054 Zero W
alabulei
2020-07-29 10:06:16 +08:00
@hardname 来~
alabulei
2020-07-29 10:48:00 +08:00
@maoxs2 Hi,看来你对 Wasm runtime 还是挺关注的呀。

是的,不过 Wasm runtime 不止 wasmer 和 wasmtime 还有最大的 v8 以及其他好几个。每个 runtime 的优化点不同,这些 runtime 可以试一下,这也是为什么会有这次活动。

SSVM 的优化点在于工具、集成与 AOT 。这些都是开发者体验的细节,要自己试了才知道。

服务端的 performance,SSVM 远远超过 Docker 与其他几个 Wasm,你也可以自己运行一下 benchmark https://github.com/second-state/wasm32-wasi-benchmark

SSVM 做了 WASI,正式发布的 extensions 都做了的。但是 SSVM 的特点是有非标准的 open source extensions 比如 EVMC, storage interface, AI hardware 等等
jimliang
2020-07-29 11:51:30 +08:00
话说我不在 nodejs 里跑这个函数,直接在浏览器跑这个函数可以么?或者封装成某个类来用?
maoxs2
2020-07-29 13:52:44 +08:00
@alabulei 说到 EVMC,我看 Ewasm 里有很多非 Wasm favor 的高级数据类型比如 bytes u256 u128,想问下这些是 ssvm 这层提供的还是说在 wrap EVMC api(hera)实现的?之前我想用 rust+wasm 写点 bytes 这种(wasm-bindgen)发现需要浏览器环境和他们提供的 js 才能运行,否则缺少 import 。直接用 wasm32-unknown-unknown 的 target 又只能 i32 i64 。
alabulei
2020-07-29 14:22:43 +08:00
@maoxs2 是用 host function 与 Nodejs 里面用 wasm-bindgen 有点像。在 wasm 里面还是标准的类型。
alabulei
2020-07-29 14:23:21 +08:00
@jimliang 要在 nodejs 里用 ssvm 运行 Rust 函数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/693807

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX