如果你是一个后台开发人员,那么你只有很小的可能没有听说过Django它通常是Python后台开发的首选框架。但随着Django核心框架中的功能越来越多,我们开始遇到Django实现方式上的新问题。
什么是FastAPI?
FastAPI是一个现代、快速(高性能)的网络框架,用于在标准Python类型提示的基础上用Python 3.6+构建API。
对我来说其主要特点是:
-
Fast: 性能非常高与NodeJS和Go相当(感谢Starlette和Pydantic)。
-
Fast to code: 将开发功能的速度提高约200%到300%。只需要4行代码就可以创建一个视图,它也有一个REST接口。
-
Short: 最大限度地减少代码的重复。从每个参数声明中获得多种功能。更少的错误。
-
Robust: 获得生产就绪的代码。具有自动交互式文档。
Django的问题
Django是一个神奇的框架,但它的根本问题是它成为了一个巨大的项目。因此增加新的功能或改变现有的功能需要大量的工作。
Django目前缺乏对RestAPIs的原生支持,需要安装Django REST框架包,这就说明了这一点。Jinja目前是开箱即用的。这主要是因为Django是一个古老的项目,它是在API还不像现在这样知名的时候开始的。但说实话,我真的不喜欢Jinja它就是这样一个混乱的技术来创建前端。因此我用React做我的前端。
Github之星的比较(总量和增长情况)
Django仍然以65,687颗星排在第一位,FastAPI以44,121颗星排在第三位。除了这个事实,FastAPI从2021年到2022年增长了38%。FastAPI何时会超越Django?
从上表中我们可以看出FastAPI仍然需要3年时间才能超越Django(假设:Django的年增长率为18.84%,FastAPI的年增长率为38.09%)。
Stack Overflow 调查2021年和2022年
在2021年和2022年Django是最常用的网络框架中的第9位。FastAPI在2021年排名第15位,在2022年排名第14位。
从2021年到2022年FastAPI的增长超过 +55% 在此期间 Django下降了2.27%。
个人结论
Django仍然是中型和大型项目的最佳Python框架,但我认为如果你只是想创建一个RestAPI,FastAPI将是最好的选择。
我很想知道你对Django和FastAPI有什么看法。
本文标题:2022 Python Web 框架比较: FastAPI会取代Django吗