说到Pythonweb框架,第一反应就是老三,Django、Flask和Tornado。如果按人气排名,应该是这个顺序。2016年发布了一个叫Sanic的web框架,表现不错,应该算是后起之秀。另一方面,FastAPI在异步方面做得更好,同时更加现代和高效。到本文为止,FastAPI在GitHub上有44k颗星。Django项目地址:https://github.com/django/djangoPython中最流行的web框架,功能非常全面,安全认证、URL路由、模板引擎、ORM,甚至Admin管理后台,一应俱全。Flask项目地址:https://github.com/pallets/flask也是一个非常流行的web框架,轻量级、灵活、高度可定制。用户可以根据自己的需要添加相应的功能。在保持核心功能简单的同时,可以丰富和扩展功能。其强大的插件库可以让用户实现个性化的网站定制,开发功能强大的网站。Bottle项目地址:https://github.com/bottlepy/bottle一个简单高效的遵循WSGI的微网框架。微小,因为它只有一个文件,而且除了Python标准库之外,它不依赖于任何第三方模块。这个框架很少用到,但是源码也很少见。如果想阅读源码,从Tornado项目入手是个不错的选择地址:https://github.com/tornadoweb/tornadoTornado是一个基于Python的Web服务框架和异步网络库,可以承载成千上万的活跃通过使用非阻塞网络I/O的连接。在需要长连接的场景下使用效果会更好。Sanic项目地址:https://github.com/sanic-org/sanic2016年5月发布第一个版本,整体性能还是不错的,使用的人也越来越多。Sanic是一个为性能而设计的Python3.7+网络服务器和网络框架。允许使用Python3.5新增的async/await语法,可以有效避免代码阻塞,达到提高响应速度的目的。FastAPI项目地址:https://github.com/tiangolo/fastapiFastAPI是一个现代的、快速的(高性能的)Web框架,用于构建API,使用Python3.6+并基于标准的Python类型提示。该框架鼓励使用Pydantic和OpenAPI(以前称为Swagger)进行文档编制,使用Docker进行快速开发和部署,以及基于Starlette框架的简单测试。
