如果你是一个后台开发人员,那么你只有很小的可能没有听说过Django它通常是Python后台开发的首选框架。但随着Django核心框架中的功能越来越多,我们开始遇到Django实现方式上的新问题。

什么是FastAPI?

FastAPI是一个现代、快速(高性能)的网络框架,用于在标准Python类型提示的基础上用Python 3.6+构建API。

对我来说其主要特点是:

  • Fast: 性能非常高与NodeJSGo相当(感谢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吗