python web前端开发框架,python web框架性能对比

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: