python十大框架_python 十大web框架排名总结

python十大框架_python 十大web框架排名总结0引言python在web开发方面有着广泛的应用。鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题。为此,我特此对比较常见的几种框架从性能、使用感受以及应用情况进行一个粗略的分析。1DjangoDjango是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是C…

大家好,又见面了,我是你们的朋友全栈君。

0 引言

python在web开发方面有着广泛的应用。鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题。为此,我特此对比较常见的几种框架从性能、使用感受以及应用情况进行一个粗略的分析。

1 Django

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。Django与其他框架比较,它有个比较独特的特性,支持orm,将数据库的操作封装成为python,对于需要适用多种数据库的应用来说是个比较好的特性。不过这种特性,已经有其他库完成了,sqlalchemy.

2 Flask

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。

3 Tornado

Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。不过现在与众多的框架比较,Tornado已经被抛在了后面,Django已经超过了它,更不说其他框架了,只能说Tornado使用纯python开发的性能还是不能与其他框架借助于cython开发的性能相比。

4 web.py

web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。而且相当的小巧,应当归属于轻量级的web 框架。但这并不影响web.py 的强大,而且使用起来很简单、很直接。在实际应用上,web.py 更多的是学术上的价值,因为你可以看到更多web 应用的底层,这在当今“抽象得很好”的web 框架上是学不到的 :)

5 Aiohttp

高性能异步web框架,既有客户端的也有服务端的,还支持web-socket

6 Sanic

与flask类似,并支持异步

7 Vibora

旨在成为最快的python web框架。vibora的高性能依赖于 cython实现的uvloop异步框架及cython实现的http_parser, 再加上一些cython构建的web组件,比如 模板,user-route等。目前还处于测试阶段。

8 Bottle

Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。

9 Falcon

Falcon是一个构建云API的高性能Python框架,它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。

10 weppy

性能优于flask的一个全栈web框架

11 并发请求对比

框架

请求量/秒

版本

Tornado

14197

5.0.2

Django

22823

2.0.6

Flask

37487

1.0.2

Aiohttp

61252

3.3.2

Sanic

119764

0.7.0

Vibora

368456

0.0.6

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141685.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 测试程序代码运行时间过长_Java测试

    java 测试程序代码运行时间过长_Java测试突然想准确的测试一下Java代码的执行时间,在网上找了一会。发现基本有以下两种方法:第一种是以毫秒为单位计算的。Java代码//伪代码  long startTime=System.currentTimeMillis();   //获取开始时间  doSomeThing();  //测试的代码段  long endTime=System.currentTime

    2022年10月18日
    2
  • VSCode 前端插件推荐

    VSCode 前端插件推荐开发综合推荐插件名:别名路径跳转使用说明:别名路径跳转插件,支持任何项目,使用场景:当你在开发页面时,想点击别名路径导入的组件时(演示如下)配置说明下载后只需自定义配置一些自己常用的别名路径即可//文件名别名跳转”alias-skip.mappings”:{“~@/”:”/src”,”views”:”/src/views”,”assets”:”/src/assets”,”network”:”/src/network”,”

    2022年7月25日
    13
  • 关于layuiAdmin 后台管理模板购买授权的问题

    关于layuiAdmin 后台管理模板购买授权的问题购买授权之前 建议认真阅读下述 解惑 以免造成不必要的困惑 另外也可以阅读 layui 付费产品服务条款 注意 layuiAdmin 受国家计算机软件著作权保护 登记号 2018SR 不得恶意分享产品源代码 二次转售等 违者必究 应该如何选择版本 通常我们推荐您选择 套餐版 它同时包含了 单页版 和 iframe 版 你随时可根据项目需求和团队情况 自由切换 但如果你

    2025年9月5日
    6
  • 1.SQL统计某张表的列数。「建议收藏」

    1.SQL统计某张表的列数。

    2022年1月21日
    59
  • 区块链 个人怎么赚钱 个人 如何投资区块链

    区块链 个人怎么赚钱 个人 如何投资区块链

    2021年7月1日
    92
  • windows 命令行杀死进程_杀死进程命令

    windows 命令行杀死进程_杀死进程命令使用命令杀进程的几种方式:1,根据进程名称杀进程:taskkill/f/t/imqq.exe//此例是杀QQ进程2,通过进程号杀进程:taskkill/pid9396-f//规则taskkill/pid[进程号]-t(结束该进程)-f(强制结束该进程以及所有子进程)这种方式是成功的;进程号获取方式:快捷键ctrl+alt+delete找到任务管理器,PID即为进程号如果没有PID,右键名称,勾选PID即可;杀进程命令:tas…

    2025年9月12日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号