< 返回版块

sunli829 发表于 2021-08-24 17:16

Poem是一个基于tokio/hyper的WEB服务端框架

为什么要做一个新的web框架

  1. actix-web已经半死不活了,和tokio1兼容的新版本始终出不来(就算出来和其它生态结合也有问题,因为用得单线程runtime)
  2. tide已经死了,和async-std一起
  3. warp太复杂,就算是一个rust老手也会经常被整的死去活来
  4. axum目前比较火,但是在我深入研究之后,发现也存在和warp同样的问题。

在和社区的朋友聊axum的过程中,发现大家都不太玩得明白,我突然就想做一个用起来简单点的。

Poem简单在哪里

我觉得warp复杂在于大量的泛型造成代码难以理解,甚至连IDE都无法正确识别类型造成编码的困难。

但简单不代表没有泛型,而是去掉一些不必要的泛型。

Poem在对性能影响不大的地方尽量减少泛型的使用,定义IDE友好,容易理解的API。

Poem的当前状态

完全覆盖warp的功能,API已经基本稳定。

Poem的后续目标

  1. 更完善的文档以及使用手册。
  2. 覆盖更全面的测试用例。
  3. 提供更多开箱即用的功能。
  4. 内置openapi(swagger)的支持。

感谢

感谢张汉东提供的Poem注册名,小丁制作的网站,以及社区各位朋友提供的意见和PR。


Ext Link: https://github.com/poem-web/poem

评论区

写评论
chenge 2021-08-25 13:49

看上去还不错,学习。

douchuan 2021-08-25 10:41

希望成为Rust领域的RoR,Rust on Rails 听起来太响亮了

--
👇
douchuan: cool,加油,油条哥

douchuan 2021-08-25 10:33

cool,加油,油条哥

c5soft 2021-08-25 09:52

私以为axum很棒,充分展示了rust这门语言的表达能力。 1.路由非常方便,演示了Rust不用宏,也可以搞DSL的方法。 2.Extractors与AddExtension极为灵活,简化了warp通过构建参数获取Request与环境数据的设计。 3.借用Tower生态提高了代码利用率。

axum必火,她将取代warp,成为最优秀的web框架。目前正尝试用axum将前期用warp写的web服务重写。

子十 2021-08-25 09:39

为什么会死呢 刚了解这个

--
👇
TD-Sky: async-std死了?😨

xin-water 2021-08-25 09:21

希望以后能把路径定义写在宏里,像springMVC一样。

TD-Sky 2021-08-24 21:55

async-std死了?😨

wtklbm 2021-08-24 19:35

油条哥,赞赞赞

1 共 8 条评论, 1 页