[Rust] RustHub.org:基于 Rust-Web 技术栈,及 image-rs、fluent-rs、rhai-script ……
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: RustHub.org 是一个可信程度较高的、专用收集基于 Rust 技术生态开发的创意模型或者成型作品的站点。需要参考获取灵感的用户,可以花费最少的时间成本;而加上功能图,甚至文档等,发布者也可以宣传自己的创意和作品。
Topics: rust tide rust-web async-std rusthub graphql-rust
在最近的面向 github 编程过程中,需要寻找一些基于 Rust 技术开发的产品或者模型,作为功能设计的参考。仓库很多,汗牛充栋,但缺失功能界面图和示例数据等,对其详细了解的成本都比较大。
很多时候,我们希望参考其它产品的功能点来丰富自己的想法或设计(并非为了抄袭),只是一个简单的功能界面图或者对产品简略浏览即可。当然,浏览过程中,或许被其应用功能吸引,而成为用户,这算双赢吧——不是抄袭的赢两次 ;-)
基于以上出发点,我想着是否有一个可信程度较高的、专用收集基于 Rust 技术生态开发的创意模型或者成型作品的站点。需要参考获取灵感的用户,可以花费最少的时间成本;而加上功能图,甚至文档等,发布者也可以宣传自己的创意和作品。因此,便有了这个完成度并不高的试水网站 RustHub.org。
RustHub.org 算作技术试玩,所以或许技术栈不是最适宜的,值得一提的 crate 有——
-
tide。基于 async-std的、已经很久未维护的 web 框架,目前够用。若 tide 彻底放弃维护,打算采用 poem 或 actix-web 或 axum……
-
handlebars-rust。这里要说下,起初是基于 Rust-Wasm 框架 yew 开发的,并且做出来了,也可用。但测试后还是使用 handlebars-rust 重写了,yew 和 wasm 后面再玩。
-
async-graphql。这 crate 算技术最适宜之一吧,juniper 上周也还简单测试了下(因为 graphql-client 的使用),都非常优秀。
-
rhai-script。用作写 handlebars helper,替代一些简单的 javascript 脚本,寄予希望较大,但工具什么支持的都很差……
-
fluent-rs,i18n 处理。这 crate 也算技术最适宜之一吧,gettext,l20n,甚至 ICU-MF 都以前测试多次的,fluent 是比以前 Python 中使用的 gettext 方便好用。
-
multer,文件上传。因为业务逻辑,我希望在 web 框架层次处理文件上传,而目前的 web 框架,包括 tide、actix-web、axum 等对于 multipart/form-data 处理都有点问题,要借助此 crate。不过,async-graphql 中对于上传文件也有处理,大略看了下源码,也是引入了 multer crate,但我未在 graphql server 层次处理文件上传。
-
image-rs。图片转换用的,用的很浅,目前有点问题。image-rs 内嵌的图像算法是 5 种,一种图片转换后,和原大小差不多但非常模糊,其它四种图片转换后,都会比原图像大数倍……或许深入使用有很多参数,或许需要自定义图像算法吧,以后再了解。
-
fantoccini。web 在线截图用,后来废弃——因为由服务器截图或许不是发布者最想展示的,还是自行上传图片较合适。fantoccini 也可以用来做对虚拟 dom,如 react、vue 等开发的前端页面进行数据抓取。
-
其它的一些 crate,比如分词、拼音、jsonwebtoken 等,可能在目前 Rust 生态来说,都非最适宜的,但我用着还好。
RustHub.org 开源在 https://github.com/rusthub-org/rusthub.org。
欢迎来 RustHub.org 发布您的成型作品、创意模型。
谢谢阅读!