科技一哥|Web框架,2020如何选择Rust( 三 )


Rust的生态体系将文档为最重要的部分(只需运行cargodoc--open即可自动生成项目文档) , 这也是Rust社区本身文化的一部分 。 库作者通常会认真对待文档 , Web框架也不例外 。 在docs.rs上可以找到非常详尽的内容 , 并在需要时提供上下文示例 。
rocket和actix-web在各自的网站上提供高级文档指南 , 所有框架都将大量示例作为其代码库的一部分 。
项目文档的教程之外的大多是一些随时间的积累:actix-web和rocket很容易找到的材料(文章 , 讲座 , workshop) , 而warp和tide的材料则较为有限 。 在另一面 , 大量的材料可能会存在过时的情况 , 这些针对老版本的材料可能会引起误解 , 这也是初学者常见的困惑之一 。
这就是虫虫不建议大家使用搜索引擎搜索材料 , 而是尽可能先去学习官方文档 。
总结
2020年今天面对这些Web框架 , 如何选择呢?
7月开始 , 我建议actix-web选择是否要在Rust中编写生产API 。
首先针对actix-web:
它已广泛用于生产;依靠tokio作为异步运行时 , 从而最大程度地减少与异步生态系统中最流行的包的兼容性问题的可能性;拥有大量成熟的插件以及最大的社区 。
尽管它的某些API绝对不是最符合人性化 , 但考虑到所有因素 , 这带来的不便肯定很小 。
当然如果都按部就班 , 不愿意尝试 , Rust框架就无法百花齐放 , 繁荣昌盛 。 其他web框架也优势明显
tide并warp使用异步Rust突破了人性化极限;
用rocket可以最大程度上享受其功能方面的优势 , 但是它采用了async/await以及用nightlyRust编译器进行移植 。
【科技一哥|Web框架,2020如何选择Rust】当然最好的框架是不用框架 , 是用自己的框架 , 如果你心有余 , 力所及 , 去创建一个自己的Rust框架也是一个非常好的选择 , 如果你有这方面的打算或者已经做了这方面的工作 , 请at虫虫 , 如果下次介绍Rust框架 , 我将予以优先介绍 。