1
akring 2021-10-07 19:49:55 +08:00 1
存在幸存者偏差吧,参与的很大一部分都是 Flask 使用者
|
3
loading 2021-10-07 21:37:45 +08:00
104 份提交就做分析了?
|
4
Kilerd 2021-10-07 21:56:13 +08:00 via iPhone 2
开发接口时自动生成 swagger
对 Web API 很友好的支持 加入 pydantic 用于类型检查 哈哈哈哈,why not fastapi 。 现阶段来说我个人感受就是,面对 python 里面其他的异军突起的 web 框架和大而全的 django 的压力下,进步缓慢的 flask 已经难以维持着其自身的市场份额了。 大多数人在接受过 fastapi 那基于 pydynamic 的类型检查后再回去使用原始的 flask 处理模式。 别跟我扯什么 flask 坚持做 general 的 web 框架,市面上的 web 开发有多少已经是前后端分离的模式了?连 spring 的老家伙都有 @restcontroller 了啊。 至于基于 flask 的 api 框架,没看到一个能打的。 |
5
mywaiting 2021-10-08 00:20:42 +08:00 3
分享一个冷笑话:
无论你用哪个 python web 框架开发一个完整的项目,一会这插件一会那实现,东拼西凑 你会发现你竟然凑出了一个 Django |
6
LeeReamond 2021-10-08 01:38:23 +08:00 via Android 4
@mywaiting 这是很无聊的说法,定制不意味着愚蠢,大而臃肿也不意味着万能
|
7
dayeye2006199 2021-10-08 02:06:02 +08:00
@mywaiting django 更符合一些 python 的直觉,do one thing with one way 。老年人表示 django 比较友好
|
8
namelosw 2021-10-08 02:51:47 +08:00
Flask 挺好的,用 Django 不如用 Rails
|
9
imycc 2021-10-08 02:59:35 +08:00 1
#4 why not fastapi
------ 之前换工作之后有机会重新选型,看了一阵 fastapi 的文档,然后自己接了 pydantic 搞了一套类型检查。。 #5 说的也有道理,flask 项目长期维护下去之后,慢慢也会变成类似 Django 一样的“大而全”的框架。但不意味着 Django 是 Flask 项目演化的终点。 我用 Flask 的初衷是 Blueprint+各种钩子已经足够我写 API 了,有什么需求我再根据情况去写。 尽量减少跟框架本身的耦合,连官方插件我也不喜欢用。前几天刚把之前用的 Flask-SQLAlchemy 干掉,重新写了个封装(主要是为了跟 Celery 那边的代码共用) emm,大概是因为写的项目都还不够重型?毕竟都是内部系统。面向普通用户的大型系统一般也比较少选择 python 开发吧,我也不考虑了 |
10
HashV2 2021-10-08 08:48:34 +08:00
@dayeye2006199 #7 雀食 现在属于是用 django 在公司摆烂了
|
11
krixaar 2021-10-08 09:22:31 +08:00
@mywaiting 用 Flask/Quart 会有种“做复杂的我为啥不上 django,做简单的我为啥不直接用 PHP 撸”的感觉🤣
|
12
greyli OP @loading
> 104 份提交就做分析了? 因为没人填。大部分提交都是在问卷发布后宣传的那一阵,后续两个月就基本没有多少了。不过 104 份已经能够反映出很多问题了,重合率比较高的几个事情( API 支持、异步、扩展维护)也都是目前 Flask 社区的关注点。 |
13
greyli OP @Kilerd
> 大多数人在接受过 fastapi 那基于 pydynamic 的类型检查后再回去使用原始的 flask 处理模式。 既然 FastAPI 可以集成 Pydantic,那 Flask 未必就要用原始的处理模式呀。完全可以自己选择搭配不同的数据序列化库,比如 Pydantic 或是 marshmallow 。 > 至于基于 flask 的 api 框架,没看到一个能打的。 请问你对 APIFlask https://apiflask.com 有什么想法和建议吗?我希望它可以成为能打的那个 :P |
14
Kilerd 2021-10-08 09:46:55 +08:00 via iPhone
@greyli 搜了一搜 flask work with pydynamic 甚至没有文章教你怎么配,这样我就不认同它是一个业界可行或者是推荐的方案了。
至于 marshmallow,flask + marshmallow 组合的易用性远低于 fastapi |
15
greyli OP @Kilerd 还是有不少文章的,你没搜到可能是因为拼写错了:是 Pydantic,不是 Pydynamic 。
另外还有两个相关的扩展(后者添加了生成 OpenAPI spec 的支持): - https://github.com/bauerji/flask_pydantic - https://github.com/turner-townsend/flask-pydantic-spec |
16
greyli OP > 至于 marshmallow,flask + marshmallow 组合的易用性远低于 fastapi
@Kilerd 方便展开说说易用性差在哪里吗?其实 APIFlask 就是 Flask+marshmallow 的组合,而 FastAPI 则是 Starlette+Pydantic 的组合。 |
17
Kilerd 2021-10-08 10:06:58 +08:00 via iPhone 1
@greyli 嗯,是我打错了,对不起。简单看了一下,相比于 fastapi 只用多写一个 validate annotation,那确实也可以。
|