python web前端开发框架,python web框架性能对比
1.姜戈
Django是一个用Python写的开源web APP框架,支持很多数据库引擎。这将使Web开发快速且可扩展,并不断更新版本以匹配Python的最新版本。如果你是初学程序员,可以从这个框架入手。
Django受到称赞主要是因为:
Django成功的一个很大原因是Django多亏了近乎完美的官方文件。
2.完整的解决方案。Django提供完整的解决方案,基本上需要什么,都是Django自己做。开发网站应该获得的工具Django,基本都是帮你做的,所以开发效率不言而喻,也很容易发现问题。
3.强URL路由配置。你可以在Django中设计一个非常优雅的URL。在Django中,你基本上可以告别难看的GET参数了。
4.自我管理后台。admin界面是Django中关注度很高的contrib,不用写一行代码就有完整的后台管理界面。
5.该系统紧密集成。如果你觉得Django的一些内置功能不好,很难用你喜欢的第三方库替换。例如,如下所述的ORM和模板。在Django上用SQLAlchemy和樱井真子几乎不可能,打补丁也很不协调。
6.模板功能弱,无法插入Python代码。要编写稍微复杂的逻辑,需要在Python中安装Tag和Filter。
Django正在向大而全的方向发展,注重高效开发。最著名的是它的全自动化管理背景。使用ORM,只需定义简单的对象,就可以自动生成具有完整数据库结构和功能的管理后台。
2 .立方网站
CubicWeb被称为“支持重用和面向对象设计的语义web APP应用框架”。这是一个有趣的系统,它使用了被称为“cube”的抽象和可重用的代码块,但对于某些开发人员来说,它可能过于抽象或特殊。
Cube是一个软件组件,包含架构、实体、编程逻辑和视图。通过组合多个立方体,每个立方体可以执行自己的任务,并重用自己的代码和其他代码来创建软件APP应用程序。
3.Web2py
WebPy是用Python语言编写的免费开源Web框架,旨在快速开发Web2py,具有高速、可扩展、安全、可移植的数据库驱动,LGPLv3是开源的。
Web2py提供了一站式解决方案,整个开发过程都可以在浏览器中完成。它还提供了在线Web开发、创建HTML模板、上传静态文件和创建数据库的功能。其他功能包括日志功能和自动化管理界面。
4.Weppy
Weppy感觉是Flask的极简风格和Django的正直的中间标志。we PPy APP包的开发有Flash的直接性质,但是we PPy有Django的很多功能,比如数据层,认证等。因此,Weppy非常适合从最简单到中等复杂的应用程序。
5.Zope2
Zope不适合简单的rest风格的API(press bottle或Flask),也不适合交互式的基本站点(la Django)。相反,它和Java产品一样,意味着它是一个完整的企业APP应用服务器栈。这个文档解释这个框架是“对组件开发者、集成商和网页设计者最有用的”。主要的第三方产品Plone CMS以Zope为基础,是Zope不断发展的主要动力。
6.瓶子
Bottle是一个简单高效的微型python Web框架,符合WSGI标准。是因为它只有一个文件,除了Python标准库,它不依赖第三方模块。
瓶子比其他“微型框架”更紧凑简洁,可以认为是一个迷你烧瓶。由于占用空间最小,Bottle非常适合包含在其他项目中,或者快速提供REST API之类的小项目。
7.樱桃派
CherryPy是一个简单且非常方便的Python Web框架。它的主要功能是用尽可能少的操作连接Web服务器和Python代码。它的特性包括内置分析、灵活的插件系统和同时运行多个HTTP服务器的能力。这些服务器可以运行在最新版本的Python、Jython和Android上。
8.猎鹰
如果你构建的是一个基于REST的API,而没有别的,Falcon提供的东西是绝对必要的。它的设计合理快捷,除了标准库几乎没有其他依赖。
Falcon之所以获得“浅薄”的标签,大部分原因与框架中的代码行数无关。这是因为Falcon在APP应用中几乎没有结构。
Falcon还采用了合理的开箱即用默认设置,因此在安装过程中很少需要修改。
Falcon对API的关注意味着web APP应用很少使用传统的HTML用户界面构建。
与其他框架相比,Falcon的文档更长更薄,因为它的覆盖范围更窄。用户指南包括所有关键功能的正式分阶段练习,以及可以显示带注释或不带注释的示例代码的快速入门部分。
p9。瓶
Flask是一个轻量级的Web应用框架,用Python编写。基于WerkzeugWSGI工具箱和Jinja2模板引擎,使用BSD授权。
Flask又被称为“微框架”,因为它使用了一个简单的核心,并通过扩展添加了其他功能。默认情况下,Flask没有数据库和表单验证工具。然而,Flask保留了扩展的灵活性,这些功能可以通过Flask-extension添加:ORM、表单验证工具、文件上传和各种开放认证技术。
Flask比较轻,可以用很小的成本开发一个简单的网站。非常适合初学者学习。学习完Flask框架,可以考虑学习插件的使用。例如,使用WTForm Flask-WTForm验证表单数据,使用SQLACHEMY FLASK-SQLACHEMY控制数据库。
Flask虽然轻量级,但是扩展性很好(Github上37000多星的都知道,大众的选择不是没有道理的),这让我们可以在开发的时候定制专属的功能。
10.金字塔
Pyramid是一个非常通用的开源web框架。作为一个框架,它的主要任务是让开发人员轻松创建web应用程序。web应用程序的类型并不重要。可以是电子表格,可以是内网,也可以是社交平台。金字塔的用途非常广泛,可以用在各种场合。
小而轻,金字塔比Django更接近Flask甚至Falcon。因此,它非常适合将现有的Python代码公开为REST API,或者为开发人员完成大多数繁重任务的Web项目提供核心任务。
Pyramid支持Python 2和Python 3,但不使用Python 3的异步语法。
11.龙卷风
Tornado是一个用Python编写的功能强大且可扩展的Web服务器。它足够健壮,可以处理严重的网络流量,但是它足够轻量,可以创建和编写,并且可以在大量应用程序和工具中使用。
龙卷风特征:
作为一个Web框架,它是一个轻量级的Web框架,类似于另一个Python web框架Web.py,具有异步非阻塞IO的处理方法。
作为Web服务器,Tornado具有出色的抗负载能力。nginx反向代理官方部署Tornado与其他Python web应用框架进行对比。结果最大浏览量超过第二名近40%。
Tornado朝着更少但更好的方向发展,专注于卓越的性能。它以异步和非阻塞设计而闻名。
12.喘息网
Wheezy.web是web框架的烧瓶/瓶子/金字塔模型:小而轻,专注于提供高速和高并发。这个特性集的核心很小,但是它的创造者已经为它配备了各种必要的功能。
Wheezy的开发似乎已经停滞,因为这个项目的最后一次提交是在2015年记录的。这对于保持与新Python特性的兼容性来说不是一个好兆头。
总结:
上面我们分析了12个框架。其中五个:Django、CubicWeb、Web2py、Weppy和Zope2,采用了“控制”的方法,包含了你能想象到的Web应用所需的大部分功能。剩下的7个框架:Bottle、CherryPy、Falcon、Flask、Pyramid、Tornado和Wheezy.web,提供了更简洁的外观、交易量和完整性,并且易于使用。
对框架选择的误解:
在框架的选择上,很多人很容易在不知不觉中陷入以下两个误区:哪个框架最好?世界上没有最好的框架,只有最适合你和你的团队的框架。编程语言选择也是如此。如果您的团队最熟悉Python,请使用Python。如果你最熟悉Ruby,就用Ruby。编程语言和框架只是工具。多做、快做、好做、少做是好事。
过于关注性能——其实大部分人都不需要过于关注框架的性能,因为你开发的网站根本就是一个小站。能接入一万IP的网站不多,能接入十万IP的就更少了。在达到一定访问量之前谈性能没有太大意义,因为你的CPU和内存总是处于闲置状态。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。