【大家的项目】 Poem-openapi
v0.2.1 发布
Poem-openapi 0.2.1 released!
Poem-openapi:
Poem-openapi
使你能够方便快捷的构建符合OpenAPIv3
标准的应用程序接口; 通过使用过程宏来生成大量样板代码,你将有更多时间和精力来专注于实现更重要的业务逻辑。
功能特性:
- 完全支持
async/await
; - 类型安全;
- 对
Rustfmt
用户友好 (过程宏); - 最小开销;
示例:
代码:
代码语言:javascript复制use poem_openapi::{payload::PlainText, OpenAPI, API};
struct Api;
#[API]
impl Api {
#[oai(path = "/", method = "get")]
async fn index(&self, #[oai(name = "name", in = "query")] name: Option<String>) -> PlainText {
match name {
Some(name) => format!("hello, {}!", name).into(),
None => "hello!".into(),
}
}
}
#[tokio::main]
async fn main() {
poem::Server::bind("127.0.0.1:3000")
.await
.unwrap()
.run(OpenAPI::new(Api).title("hello World").ui_path("/ui"))
.await
.unwrap();
}
运行:
代码语言:javascript复制[test@localhost poem-openapi]$ cargo run --example hello_world
[test@localhost poem-openapi]$ curl http://localhost:3000
hello!
[test@localhost poem-openapi]$ curl http://localhost:3000?name=sunli
hello, sunli!
更多信息:
- 项目地址:https://github.com/poem-web/poem-openapi
- 开源声明:Poem-openapi开源了!
- 作者信息:油条哥主页
Relm4 v0.1 发布
Announcing Relm4 v0.1
在第一个测试版发布大约一个月后,经过无数个小时的工作,作者高兴地宣布Relm4的第一个稳定版本正式发布!
关于Relm4:
Relm4
是一个受Elm
启发并基于gtk4-rs
的惯用GUI库。它是一个从头开始构建的relm
的新版本,并且兼容gtk4
和libadwaita
。Relm4
的主要目标是生产效率、灵活性、简单性和可维护性。
功能特性
- 支持
libadwaita
; - 配套书籍GUI development with Relm4 已完结;
- 新增支持非阻塞IO的消息句柄;
- 更多的可复用组件;
- 许多其他的改进和修复;
完整的ChangeLog可以参见: https://github.com/AaronErhardt/relm4/blob/main/CHANGES.md
更多信息:
- 项目地址:https://github.com/AaronErhardt/relm4
- 项目文档:https://aaronerhardt.github.io/docs/relm4/relm4/
- 参考书籍:GUI development with Relm4
Ockam示例: 构建一个可以安全访问远程私有网络的通道
Build a secure access tunnel to a service in a remote private network
Ockam是一个支持端到端加密、双向认证、网络安全的Rust和Elixir语言通信库。
在本篇博文中,作者详细的介绍了如何使用Ockam
在Rust中通过约20行
代码来构建一个可以安全访问远程私有网络中设备的通道。
Skiff: 一门用Rust编写的逐渐类型化的函数式编程语言
Introducing Skiff, a gradually typed functional language written in Rust
Skiff,是一门用Rust编写的逐渐类型化的函数式编程语言。所谓逐渐类型化是指作者计划下一步通过添加类型化关键字来区分完全类型函数和部分类型函数。
Skiff受Elm
/Pyret
/Python
语言启发,并受Rust
/Javascript
/Typescript
/Haskell
/OCaml
/Lua
等语言影响,当前语言功能还在持续完善中,作者提供了一个由wasm!
驱动的网页编辑器可供读者学习使用,更多信息请访问项目主页的Readme。
更多信息:
- 项目地址:https://github.com/P-bibs/skiff/
- 网页编辑器:https://skiff.paulbiberstein.me/