请不要把 Flask 和 FastAPI 放到一起比较

请不要把 Flask 和 FastAPI 放到一起比较,第1张

请不要把 Flask 和 FastAPI 放到一起比较,第2张

https://greyli.com/flask-fastapi/

TLDR: FastAPI 是基于 Web 框架 Starlette 添加了 Web API 功能支持的(框架之上的)框架,而 Flask 是和 Starlette 同类的通用 Web 框架,两者不应该放到一起比较。

文中观点或有偏颇,欢迎指正和补充。

----------------------- 以下是精选回复-----------------------

答:1. 如果一个框架看着像 web 框架,用着像 web 框架,那是不是 web 框架?
2. 如果有一个基于 flask,pydatic 和 openapi 也开箱即用的框架(我不知道现在有没有出现,很久没写 flask 了,但如果有应该会有挺多人买单),那么它能不能和 flask 做比较吗?我个人觉得是可以的。

ps:某乎有不少这样的文章,大部分都是为他们的公众号引流的。
答:我是《用它 5 分钟以后,我放弃用了四年的 Flask 》的作者。感谢博主的澄清。

其实我写这篇文章的用意,并不是对比两个框架谁好谁不好。我想表达的就是我用 FastAPI,用起来很爽很舒服。仅此而已。

就像博主举的例子,苹果和橙汁。确实,苹果和橙汁都不是同一类东西。但是,这不妨碍橙汁比苹果味道好,所以我喜欢喝橙汁,不喜欢吃苹果。我并不关心橙汁是基于什么做出来的,也不关心做橙汁的橙子与苹果谁好谁坏。我只关心最终拿给享用的东西,谁的味道好。

以后如果有一个框架基于 Flask,并且有比 FastAPI 更好的用户体验,那我也会毫不犹豫转过去的。
答:我把 ae86 的引擎换成赛车的就不让我和你的原厂五菱宏光比赛了?
答:有一说一,主题说的倒是没错,不过辨析的意义是什么呢,又一个 python 版的回字四种写法吗
答:说起来我司给我的最新任务是给他们写一个基于 bottle 的 template 。虽然我觉得上 asyncio 没什么成本(因为是一行代码都没有的新项目)但是大部分人在性能需求不高的时候还是更倾向于同步写法。
答:我最初选用 fastapi 是因为路由写法`app.get()`和取参`def hello(param: int = 0)`,看到 flask2 即将支持这种路由感到非常欣慰。

还有尬吹性能的,还是那句话,没多少项目能活到拼性能那天,真到那天了,资本会给你最好的解决方案。

「在每个 commit 信息里都加上 emoji 并不可爱」
我看到这种操作方式后,在自己的 private repo 里也尝试了下,提交几个 commit 后发现,除了 feature 里增加

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请不要把 Flask 和 FastAPI 放到一起比较

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情