作为Python开发者:应该了解的14个轻量级Python Web框架

68
发表时间:2018-12-28 08:48作者:阿杰学长来源:www.qidian02.cn网址:http://www.qidian02.cn

Python 是一个可以让你更快地完成工作,更高效地整合系统的语言。你可以学习使用Python并且马上获得生产力的提升,降低维护成本。

Python版的Hello World程序

你可能忘记该怎么做了,下面是一个提示。

<pre>print "Hello World!";
</pre>

我还特别喜欢这一段代码,

<pre>while True:
for i in ["/","*","|","","|"]:
print "%s
" % i,
</pre>

Python的Web框架

当一些基础工作不需要你操心的时候,工作起来会比较容易,这也是为什么框架在各个语言的开发者社区中变得如此流行的原因,你无法否认的是,拼装一个网页或是一个项目,比起不得不创建你自己的类或方法要容易的多。

我秉承自己的承诺,在本文或是将来任何的榜单中,不偏向任何一个框架,所有的选择都基于我个人意见和喜好。如果你可以和朋友们分享本文,在你自己的博客上面宣传一下我会很感激你的。同时我也很感激那些让这些Python web框架成为可能所付出的辛勤劳动。

1.bobo

作为Python开发者你应该了解的14个轻量级Python Web框架

Bobo是一个轻量级的框架,用来创建WSGI web应用。它的目标是简单易用,容易记忆。

它强调两个方面的内容:

  • 把URL映射到对象;

  • 调用对象来生成HTTP响应。

Bobo 并不具备模板语言,数据库集成层或是其他一些WSGI中间件或特定应用程序库所提供的功能。Bobo建立在其他框架之上,尤其是WSGI和WebOb。

2.Bottle

作为Python开发者你应该了解的14个轻量级Python Web框架

Bottle是一个快速、简单、轻量级的WSGI微型Python web框架。它仅包含单一文件模块,并且不依赖除了Python标准库以外的其他库。

它支持类似Google App Engine、Python Paste这样的应用,还包含了对一些模板的支持,比如Cheetah和Mako。

3.CherryPy

作为Python开发者你应该了解的14个轻量级Python Web框架

CherryPy 允许开发者以他们构建其他面向对象Python程序近乎同样的方式来开发web应用。这使得可以在更短的时间内开发出更精简的源代码。CherryPy允许你进行很多常规的Python编程,但是它并没有整合一个模板系统,你需要自己去找一个。(它支持大多数的模板)

CherrPy 能够很好适应默认的Python功能和结构,它在使用更少的代码创建web应用.

4.Cyclone

作为Python开发者你应该了解的14个轻量级Python Web框架

Cyclone 是一个Python的web服务框架,它基于Twisted protocol实现了Tornado API 。我将把对这个框架的介绍,交给7co.的Gleicon,请看他的文章。

5.Flask

作为Python开发者你应该了解的14个轻量级Python Web框架

Flask是一个基于Werkzeug 和 Jinja2的微型Python框架。它的目的是更快地上手,基于很多很好的想法开发出来的。你可以在 Wikipedia上了解更多内容。

6.Itty-Bitty

作为Python开发者你应该了解的14个轻量级Python Web框架

itty.py是一个小实验,是受Sinatra的影响而尝试实现的一个微型框架,它刚好够用,没有额外的东西了。

当前支持:

  • 路由

  • 内容类型

  • 基本响应

  • HTTP状态码

  • URL参数

  • 支持基本的GET/POST/PUT/DELETE

  • 用户可定义的错误处理器

  • 重定向

  • 文件上传

  • 报头

  • 静态媒体储存

当心!如果你是要找一个久经考验的,企业级框架,你就来错地方了。但是它确实很有趣。

7.Klein

作为Python开发者你应该了解的14个轻量级Python Web框架

Klein是一个使用Python来开发可用于生产环境web服务的微型框架。它基于使用非常广泛且经过良好测试的组件,比如Werkzeug和Twisted,以及近乎完全的测试覆盖率。你可以阅读这篇文章来查看介绍。(也许有点过时了)

8.Morepath

作为Python开发者你应该了解的14个轻量级Python Web框架

Morepath是具有强大的能力的Python 微型web框架。Morepath是一个Python WSGI微型框架。他使用路由,但是是针对模型的路由。Morepath是一个模型驱动,灵活的框架,这使得它富有表达力。这里有篇文章,关于Morepath的一些细节和建议。

9.ObjectWeb

作为Python开发者你应该了解的14个轻量级Python Web框架

ObjectWeb 是一个快速,极简的纯Python web框架,不依赖任何的第三方库。它围绕Python进行设计,因为起初想要把它当做面向对象的编程语言来使用。ObjectWeb支持CGI和WSGI标准,而且有一个内建的开发服务器。我觉得它是由这个家伙设计的。

10Pecan

作为Python开发者你应该了解的14个轻量级Python Web框架

创造Pecan是为了填补Python web框架世界的一个空缺——一个提供object-dispatch方式路由的超轻量级的框架。Pecan的目标并不是要成为一个“全栈”框架,因此没有支持一些额外的功能,比如session或是数据库 。相反,Pecan专注于HTTP本身。

11.Pyramid

作为Python开发者你应该了解的14个轻量级Python Web框架

Pyramid是一款非常通用的开源web框架。作为一个框架,它的首要任务是让开发者创建web应用变得简单。web应用的类型并不重要,可以是一个电子表单、一个企业内部网或者是一个社交平台。Pyramid非常通用,可以在各种各样的情况下使用它。

通过阅读/观看SixFeetUp上Caliy的这个教程.,你可以学到更多关于Pyramid的东西。

12.Tornado

作为Python开发者你应该了解的14个轻量级Python Web框架

Tornado是一个Python web框架,而且是一个异步网络库,最初是为 FriendFeed开发的。通过使用非阻塞I/O,Tornado可以处理数以万计打开的链接,这使它成为长轮询、WebSocket和其他需要为用户提供长连接的应用的理想选择。

Thomas Allen写了一个简单的教程,关于Tornado是如何工作的以及如何创建一个简单的静态页面。

13.web.py

作为Python开发者你应该了解的14个轻量级Python Web框架

web.py是一个Python 的web框架,既简单,有强大。web.py处于公有域内,你可以处于任何目的去使用它,没有限制。你可以看Lucas’s Kauffman博客上的指导文章以及关于它和Django的比较(好吧,我认为我们不能管这叫做比较)。

14.Wheezy Web

作为Python开发者你应该了解的14个轻量级Python Web框架

一个轻量级、高性能、高并发的WSGI web框架,具备创建现代,高效网络应用的关键功能。这里有一篇来自Andriy Kornatskyy,关于Wheezy的介绍

Python的最小Web框架

我想,有件事还是值得一提,这些框架实际上都是极小的。因此,像web2py和Django这些框架都不会出现在这个列表中。




文章分类: 网络知识互联网
分享到: