• 都2022年了,Python Web框架你不会只知道Django和Flask吧?


    写在前面

    本文的诞生非常偶然,这两天一个小小小学弟问橡皮擦一个陈年旧问题,Python 基础学完了,想学习一个 Python Web 框架,是先学习 Django 呢,还是学习 Flask,现在的公司都用啥?

    每次这个问题出现的时候,我都会给拉一个清单,这次咱们直接把它转换成文章吧。

    标题就叫做《2022 年,你该学习的 Python Web 框架》

    以下涉及的所有框架,都不提供官网和任何学习资料,作为一个合格的程序员,这些要自己能找到。

    第一款:Flask

    先学这个吧,轻便,灵活,定制性强,重点是上手就能用,而且又流行,

    橡皮擦认识很多 Python Web 工程师就拿这个接小活做,做的又快,来钱也快

    Logo 是个辣椒的图标,比较火热~

    第二款:Django

    Python Web 框架中的大哥,大而全,自带了一堆功能,学会了之后,做后台管理系统,安装之后,配置几下就可用。

    有一定的学习门槛,框架模式遵循 MTV 模式,即模型,视图,模板。

    如果你初学阶段就上手的 django,掌握之后,回过头来看 Flask,呃,小项目你会毫不犹豫的选择 Flask

    第三款:tornado

    是 Python Web 框架的同时,也是一款异步网络库,使用的是非阻塞 IO,所以处理速度特别快。
    性能优秀,高并发优秀,但是因为其涉及异步 IP 相关知识,所以对初学者不友好,即学起来难度有那么一丢丢的高

    如果你 Python 基础还不错,那 tornado 对你来说也是一个轻量级的 Web 框架,而且支持异步编程和 Web Socket,必须学这个呀。

    第四款:Bottle

    一个遵循 WSGI 的微型 Web 框架,整个架子就一个几十 K 的文件,里面包含路由,模板,简单的数据访问,6 的飞起。

    不过也正是因为它“太简陋"了,学学就会了,所以大家总是在忽略它。

    第五款:Sanic

    不新不旧,不火不热的框架,基于 Python3.6+实现,支持 async/await 语法,所以也是一个高效框架。

    目前的问题就是资料少,生态没有那么好(Sanic 插件文档都几乎没有),不过学习阶段肯定够了,语法非常类似 Flask,所以二者我选 Flask。

    但是注意一点 Sanic 是异步框架,性能优于 Flask。

    第六款:FastApi

    没错,现在大家炒的最火热的”现代“ Python Web 框架,号称性能第一,编码速度第一,文档最简单,还能帮程序员减少错误。

    还有一点是新,2019 年的框架,当下又这么火,所以必须学习一下。

    其余 Python Web 框架

    除了上文提及的框架外,还有一些小众,或为特殊场景准备的轮子框架。

    如果你学有余力,都可以涉猎一下。

    falcon

    一个高性能构建大规模应用以及微服务的 Python Web 框架。

    pyramid

    以高效率和快节奏的开发能力而出名的 Python Web 框架。

    asgineer

    支持异步的 Web 框架。

    emmett

    宣传的是更加专注产品,简化开发过程,简化语法的一个框架。

    apidaora

    看名字就能猜测一下,它是一款专注于 Python Api 的框架。

    hug

    hug 的定义是一个 RESTFUL API 的框架,做接口平台用的框架

    blacksheep

    BlackSheep 是一个异步 Web 框架,语法与 Flask 类似。

    index.py

    着重优化了路由查找功能,因为号称是最快的 Python Web 框架之一,不过同行都这么称呼自己。
    但是它的名字实在不讨好,毕竟橡皮擦总是创建一个叫 index.py 的文件。

    starlette

    一个轻量级的 ASGI 框架,在后面橡皮擦为大家补充一篇介绍 ASGI 知识点的文章。

    responder

    底层是 starlette,是 kennethreitz 写的,质量很有保证,这个大佬是谁?requests 模块的作者。

    clastic

    自己搜搜吧,这个不太了解,资料也不多。

    molten

    同样是一款小巧迷你的开发 API 的框架

    aiohttp

    写爬虫常用,基于 asyncio 和 异步 Web 框架。

    cherrypy

    与其它框架不同,cherrypy 有自己的想法,它希望开发者按照面向对象的思路开发 Web 系统,所以可以重点关注一下这个框架。

    masonite

    以 Django 为竞争对手的框架,你现在应该知道它是啥了吧。

    cyclone

    Cyclone 将 Tornado API 实现为 Twisted 协议。

    django-ninja

    好家伙,这个是 Django 和 FastApi 的结合体,官方说的是 Fast Django REST Framework,而且口号是:fast to learn,fast to code,fast to run,厉害,厉害。

    web.py

    Guido van Rossum 认为这是最好的 Python Web 框架,可惜作者已经不在了。

    总结

    Python Web 框架非常多,很多并未出现在上文,一个 Python Web 工程师仅需要学习前 6 款即可,剩下的可以工作中进行学习。
    本文你可以收藏,然后万一哪天用到了呢~

  • 相关阅读:
    安科瑞出席2023湖南智能建筑电气高峰论坛-安科瑞 蒋静
    Hadoop3教程(十二):MapReduce中Shuffle机制的概述
    Three.js机器人与星系动态场景:实现3D渲染与交互式控制
    【附源码】计算机毕业设计JAVA校园教育服务平台
    2022.6.28
    JavaScript洗牌算法打乱数组元素顺序
    【user_key_payload、msg_msg、pipe_buffer】再探RWCTF2023-Digging-into-kernel-3
    7-29 删除字符串中的子串
    六、ROS2通信机制(服务)
    cas:174645-81-9/[C4MIm]SbF6/1-丁基-3-甲基咪唑六氟锑酸盐离子液体/分子量:374.97
  • 原文地址:https://blog.csdn.net/hihell/article/details/125983929