三大web框架

三大web框架

三大框架简单介绍

django框架

  • 特点: 大而全 自带的功能特别多,类似于造了一个航空母舰
  • 缺点:功能太全了,但有时候不需要那么多功能,导致有时候过于笨重了.

flask框架

  • 特点: 小而精 自带的功能特别少, 但第三方库特别多,类似于游骑兵
    • 如果flask第三方的模块加起来完全可以盖过django,并且也越来越像django
  • 缺点: 好多功能都是基于第三方库的,所以导致比较依赖于第三方的开发者.

tornado框架

  • 特点: 异步非阻塞 支持的高并发量是最多的 牛逼到可以开发游戏的服务器
  • 缺点

三大框架详细介绍

一、Django

主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架

优点:

  • 大和全(重量级框架)
  • 自带orm,template,view
  • 需要的功能也可以去找第三方的app
  • 注重高效开发
  • 全自动化的管理后台(只需要使用起ORM,做简单的定义,就能自动生成数据库结构,全功能的管理后台)
  • session功能

缺点:

  • template不怎么好用(来自自身的缺点)
  • 数据库用nosql不方便(来自自身的缺点)
  • 如果功能不多,容易臃肿

二、Torando

主要特点是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势,属于专注型框架
优点:

  • 少而精(轻量级框架)
  • 注重性能优越,速度快
  • 解决高并发(请求处理是基于回调的非阻塞调用)
  • 异步非阻塞
  • websockets 长连接
  • 内嵌了HTTP服务器
  • 单线程的异步网络程序,默认启动时根据CPU数量运
  • 行多个实例;利用CPU多核的优势
  • 自定义模块

缺点:

  • 模板和数据库部分有很多第三方的模块可供选择,这样不利于封装为一个功能模块

三、Flask

主要特点小而轻,原生组件几乎为0, 三方提供的组件请参考Django 非常全面,属于短小精悍型框架

优点:

  • 简单,Flask的路由以及路由函数由修饰器设定,开发人员不需要借助其他文件匹配;
  • 配置灵活,有多种方法配置,不同环境的配置也非常方便;环境部署简单,Flask运行不需要借助其他任何软件,只需要安装了Python的IDE,在命令行运行即可。只需要在Python中导入相应包即可满足所有需求;
  • 入门简单,通过官方指南便可以清楚的了解Flask的运行流程;
  • 低耦合,Flask可以兼容多种数据库、模板。

缺点:

  • 对于大型网站开发,需要设计路由映射的规则,否则导致代码混乱

web框架可以分为三部分

A: socket部分

B: 路由与视图函数对应关系(路由分配)

C: 模块语法

Django

  • A用的是别人的 ---> wsgiref模块
  • B用的是自己的
  • C用的是自己的 没有jinja2好用,但是也很方便

Flask

  • A用的是别人的 werkzeug(其内部还是wsgiref模块)
  • B是自己写的
  • C是别人的 jinja2

Tornado

  • A,B,C都是自己写的.
原文地址:https://www.cnblogs.com/jkeykey/p/14540058.html