Tornado与flask的特点和区别有哪些

如题所述

【Tornado】 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。

【Flask】是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。
Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-12
都是小型框架。最大的不同就是Tornado的异步特性。
Flask插件多快速开发确实很有效率,文档也非常专业,有专门的公司团队维护,有较多现成轮子可用。
Tornado没有Flask那么多现成的轮子。
tornado的并发处理比flask强.flask的文档和扩展都比tornado要好。
第2个回答  2016-10-22
1、Tornado 特点
Tornado 就是 FriendFeed 的 Web 服务器及其常用工具的开源版本。
Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。(关于如何扩容 服务器,以处理数以千计的客户端的连接的问题,请参阅The C10K problem)
2、Flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。
Flask 是一个微型的 Python 开发的 Web 框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。语法简单,部署很方便。
路由:使用一个简单但有力的模式语法,映射 URLs 到代码。
模板:快速的内建模板引擎,并且支持 mako、jinja2 和 cheetah 模板。
服务器:内建 HTTP 开发服务器,并支持 paste、fapws3、flup、cherrypy
或其它任何有 WSGI 功能的服务器。
无依赖:所有东西都在一个单一的文件中,并且不依赖其它任何 Python 标准库。
第3个回答  2016-10-03
  1、Tornado 特点

  Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py
或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和优化。

  2、Flask 特点

  Flask 是一个微型的 Python 开发的 Web
框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。语法简单,部署很方便。

  核心特征路由:使用一个简单但有力的模式语法,映射 URLs 到代码。

  模板:快速的内建模板引擎,并且支持 mako、jinja2 和 cheetah 模板。

  服务器:内建 HTTP 开发服务器,并支持 paste、fapws3、flup、cherrypy或其它任何有 WSGI 功能的服务器。

  无依赖:所有东西都在一个单一的文件中,并且不依赖其它任何 Python 标准库。
第4个回答  2016-09-10
1、Tornado 特点
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开
源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了
能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和
优化。

2、Flask
Flask 是一个微型的 Python 开发的 Web 框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。语法简单,部署很方便。
核心特征
路由:使用一个简单但有力的模式语法,映射 URLs 到代码。
模板:快速的内建模板引擎,并且支持 mako、jinja2 和 cheetah 模板。
服务器:内建 HTTP 开发服务器,并支持 paste、fapws3、flup、cherrypy
或其它任何有 WSGI 功能的服务器。
无依赖:所有东西都在一个单一的文件中,并且不依赖其它任何 Python 标准库。

示例代码:
from flask import Flask
app = Flask(__name__)
@app.route(“/”)
def hello():
return “Hello World!”
if __name__ == “__main__”:
app.run()
==========================================
————————————-
Bottle
————————————-

3、区别
Tornado 和现在的主流 Web 服务器框架有着明显的区别:是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web服务来说,Tornado 是一个理想的 Web 框架。开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。
第5个回答  2016-09-17
【Tornado】 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。

【Flask】是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。
Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。最新版本为0.10