[Python]前端11_Web框架

Web框架

Python的主流Web框架是:

1.Django:
    Django是一个高级的、全功能的 Web 框架,被广泛用于构建复杂而强大的 Web 应用程序。
    它提供了许多内置的功能和工具,如管理员界面、身份验证、数据库ORM等,使开发者能够快速构建稳定、可扩展的应用程序。

2.Flask:
    Flask 是一个简约而灵活的微型Web框架,专注于构建小型或中型的 Web 应用程序和 API。
    相比于 Django,Flask更加轻量级,并允许开发者根据需要选择所需的插件和库,以便在项目中进行定制。

3.Pyramid:
    Pyramid 是一个通用的 Web 框架,可以满足从小型到大型应用程序的需求。
    它提供了一种灵活且可扩展的方式来构建 Web 应用程序,并支持各种功能,如URL路由、会话管理、表单处理等。
    Pyramid提倡对应用程序结构的自由控制,并鼓励使用现有的Python工具和库来实现功能。

4.Tornado:
    Tornado 并没有被完全淘汰出三大主流框架之一。
    尽管 Django、Flask 和 Pyramid 是 Python 生态系统中最受欢迎的 Web 框架,但 Tornado 仍然有其独特的优势和用途。
    Tornado 是一个高性能的异步Web框架,它以支持并发处理和非阻塞IO操作为目标。
    它经常用于构建高度可扩展且具有实时响应需求的应用程序,例如聊天应用、实时消息传递系统和实时分析工具等。
    由于其出色的性能和强大的异步功能,Tornado 在特定场景下仍然被广泛使用。
    虽然 Django、Flask 和 Pyramid 更加通用、适用于各种类型的 Web 应用程序,
    但 Tornado 的专长在于处理大量并发连接和实时性要求较高的应用。


总结:
    1.django
        特点:大而全,自带的功能特别多,即:庞然大物
        不足:有时候显得笨重

    2.flask
        特点:短小精悍,自带的功能非常少,
        但是它第三方的模块特别多,如果将flask第三方模块全部加起来完全盖过django
        不足:比较依赖第三方的开发者,而且兼容性问题不容小觑

    3.tornado
        特点:异步非阻塞,支持高并发(甚至可以开发游戏服务器)
        不足:自行了解...

    因此,根据项目需求和技术要求,开发者可以根据情况选择合适的框架,并在需要时考虑使用 Tornado 来满足特殊的需求。
    这些框架都具有优秀的生态系统和活跃的开发社区,且得到了广泛的应用和支持。选择哪个框架取决于项目需求、开发团队的喜好以及个人技能水平。

补充:
    我们从手动搭建web框架中可知,框架主要是下面部分组成
        A部分:socket部分
        B部分:路由与视图函数对应关系(路由匹配)
        C部分:模板语法

    django
        A部分用的是别人的(wsgiref模块)
        B部分用的是自己的
        C部分用的是自己的(没有jinja2模块好用,但是也很方便)

    flask
        A部分用的是别人的(werkzeug,而werkzeug内部还是wsgiref模块)
        B部分用的是自己的
        C部分用的是别人的(jinja2模块)

    tornado
        A、B、C部分都是自己写的