虽然Python不是主打后端开发的语言,但目前市场仍有很多大公司在用Python开发网站和软件,比如Youtube、Reddit、Dropbox、Douban等。
目前Python生态有几个受欢迎的后端框架,主要是Django、Flask、FastAPI,咱们如果做Python后端开发,该怎么选择呢?
从市场应用层度来看,Django>Flask>FastAPI,意味着Django、Flask有更多工作机会。
很多公司都在用Django,甚至用Django来开发应用,比如Youtube、Spotify、Instagram、Linkedin等,因此Django的工作机会更多。
不行你去翻翻招聘网站Python web开发的能力要求,很多都是需要Django经验,就像Java的Spring。
从框架完整性来看,Django>Flask>FastAPI,意味着Django可以开发更复杂的应用。
Django自带大量常用工具和框架,可轻松、迅速开发出一个功能齐全的Web应用。
而且Django有健全的后台管理系统。Django内置了一个后台数据管理系统,经简单配置后,再编写少量代码即可使用完整的后台管理功能。
从社区活跃度、文档丰富度来看,Django也是做的最好的,对开发人员来说很适合作为主力工具。
Django学习文档:
https://docs.djangoproject.com/en/4.1/
https://docs.djangoproject.com/zh-hans/4.1/
从轻量化层度来看,FastAPI=Flask>Django,意味着FaskAPI、Flask更容易入手
FastAPI、Flask都是轻量级的后端框架,适合初学者入门学习,并迅速搭建应用。
这里要强调一点,FastAPI 是添加 Web API 支持的二次框架,和Django、Flask这类通用型框架并不是一个物种。
因此学习Python 后端只适合在Django和Flask中做选择,或者Tornado、Starlette之类。
Django具有使代码可重用的大多数软件包,是一个完整的 Web 开发框架,而 Flask 和 FastAPI 是用于构建网站的简约框架,很多功能比如用户系统,后台管理要自己实现。
Fastapi学习文档:
https://fastapi.tiangolo.com/
https://fastapi.tiangolo.com/zh/
从个人开发性价比来看,Flask>FastAPI>Django,意味着Flask更适合小而美的东西。
Flask 是一个 Python Web 开发的微框架,严格来说,它仅提供 Web 服务器支持,不提供全栈开发支持。
Flask 非常轻量、非常简单,基于它搭建 Web 系统都以分钟来计时,特别适合小微原型系统的开发。花少时间、产生可用系统,是非常划算的选择。
Flask学习文档:
https://flask.palletsprojects.com/en/2.2.x/
https://dormousehole.readthedocs.io/en/latest/quickstart.html