【译】2020年Web开发的十大Python框架

上面列出的是2020年的一些免费和开源Python框架,它们将被广泛用作全堆栈后端web应用程序开发。你会为你的下一个项目选择哪一个?或者,哪一个是您最喜欢的Python框架?请在下面的评论部分告诉我们。
来源: https://www.netsolutions.com/insights/top-10-python-frameworks-for-web-development-in-2019/ 作者:netsolutions 浏览:598 发布时间:2020-01-17 08:52:27 标签: 译文Python

Python正处于意想不到的上升趋势。而且,需求肯定会继续增长,短期内不会有任何减弱的迹象。在未来的几年里,Python有望超越Java和c#,这清楚地表明未来还会有更多。许多当今的大型技术公司,如谷歌、Netflix、Instagram,都在选择用于web开发的Python框架。尽管在未来的几年里有很多流行的和需要的python web开发框架,但是它们各自的优缺点各不相同。每个python开发人员都有不同的编码风格和偏好。他们将根据单个任务的需求评估每个框架。因此,选择在很大程度上取决于开发人员和手头的任务。


根据编程语言流行度指数,“Python在过去5年中增长最快,增幅为19.0%。事实上,TIOBE指数将python web应用程序开发排在世界上使用最多的语言的第三位。”


Python是开发人员的新宠,框架是他们的福气。


如何? ? ?


Python为开发人员提供了范围广泛的框架。Python框架有两种类型——全栈框架和非全栈框架。全堆栈框架为开发人员提供了全面的支持,包括表单生成器、表单验证和模板布局等基本组件。


由于Python没有提供加速定制web应用程序开发所需的内置特性,因此许多开发人员选择Python健壮的框架集合来处理执行的微妙之处。


Python开发人员可以在框架中使用现成的组件,而不是为每个项目编写类似的代码。这不仅节省了时间和金钱,甚至减少了上市时间。


Python是一种面向对象的、强大的、可解释的、交互式的编程语言。易于学习和阅读的特性有效地缩短了开发时间。


询问任何Python开发人员—新手或有经验的人—他们都会同意它的可靠性和有效的速度。开发人员可以使用和部署用于web开发的Python框架。


2020年将使用的流行Python框架


下面列出了流行的11个用于web开发的Python框架,开发人员应该在2020年选择这些框架来提高网站性能和上市时间。


Django


Django是一个免费的开源Python框架,它使开发人员能够快速开发复杂的代码和应用程序。Django框架帮助开发高质量的web应用程序。它广泛用于api和web应用程序的快速开发。



Django框架开发了超过12,000个已知的项目。而且,它是更成熟的web开发框架之一。


这个高级框架通过提供不同的健壮特性简化了web应用程序的开发。它有大量的库,并且强调了有效性,减少了对代码的需求,以及组件的可重用性。


Django的主要特性


  • 帮助您为应用程序中的url定义模式。
  • 内置的验证系统。
  • 简单而强大的网址系统。
  • 面向对象的编程语言数据库,提供了最好的数据存储和恢复。
  • 自动管理界面特性支持编辑、添加和删除自定义内容的功能。
  • 缓存框架伴随着多个缓存机制。


CherryPy


CherryPy现在已经快10岁了,已经被证明是非常快和稳定的。它是一个开源的Python web开发框架,嵌入了自己的多挂服务器。它可以在任何支持Python的工作框架上运行。



适度的web框架使您能够使用任何类型的技术进行数据访问、模板化等等。是的,它可以做web框架能够做的所有事情,例如,处理会话、文件上传、静态、cookie等。


CherryPy使开发人员能够像开发其他面向对象的Python程序一样开发web应用程序。这导致在更短的时间内开发更小的源代码。


CherryPy的主要特性

  • 一个一致的,HTTP/1.1兼容的,WSGI线程池的webserver
  • 易于运行各种HTTP服务器(例如在多个端口上)
  • 运行在Python 2.7+、3.5+、PyPy、Jython和Android上
  • 用于编码、会话、缓存、身份验证、静态内容等的内置工具
  • 为开发人员和部署人员提供强大的配置系统
  • 内置的分析、覆盖和测试支持



Pyramid


Pyramid的知名度正在逐步增长。大多数有经验的开发人员都支持它。Pyramid框架在Python 3上运行。这个框架非常灵活,允许用户通过最小化的方式开发基本的web应用程序。



Pyramid框架是通用的,可以用于简单和困难的项目。由于其透明性和可度量的质量,它是经验丰富的Python开发人员中最有价值的web框架。它已经被Mozilla、Yelp、Dropbox和SurveyMonkey等科技巨头使用。


Pyramid的主要特征


  • 能够运行良好的小和大的应用程序
  • 基于URL分派和webhelper的路由配置的URL映射
  • HTML结构验证和生成
  • 包罗万象的模板和资产细节
  • 测试、支持和全面的数据文档
  • 灵活的身份验证和批准


Grok


Grok框架是一个基于Zope toolkit技术的web框架。它为开发人员提供了敏捷开发的经验,它集中于两个一般原则——约定优于配置和DRY(不要重复自己)。它是一个开源框架,用于加快应用程序开发过程。



根据任务需要,开发人员可以从范围广泛的网络和独立的库中进行选择。Grok的UI(用户界面)类似于其他全栈框架,如Pylons和TurboGears。


Grok的主要特性


  • 为开发强大的可扩展web应用程序提供了强大的基础
  • 使web开发人员能够利用Zope 3的强大功能
  • 一个强大的对象数据库存储
  • 集成的安全性,以确保您的应用程序和授予特定用户访问权限
  • Grok组件体系结构有助于开发人员减少开发的不可预测性
  • 提供构建块和其他基本资产,以开发满足业务需求的自定义web应用程序


TurboGears


TurboGears是一个数据驱动的全栈web应用程序Python框架。它旨在克服各种广泛使用的web开发框架的不足。它使软件工程师能够通过不重要的设置开始开发web应用程序。



TurboGears允许web开发人员利用各种JavaScript开发工具来简化web应用程序的开发。您可以在SQLAlchemy、Repoze、WebOb和Genshi等元素的帮助下开发web应用程序,这比其他现有框架快得多。它支持不同的数据库和web服务器,如挂线。


该框架采用MVC(模型-视图-控制器)设计,并结合了健壮的格式、用于服务器和程序的令人难以置信的对象关系映射器(ORM)和Ajax。使用TurboGears的组织包括Bisque、ShowMeDo和SourceForge。


TurboGears的主要特点

  • 所有特性都作为函数修饰符执行。
  • 基于语义的支持。
  • 命令行工具。
  • MochiKit JavaScript库集成。
  • mvc风格的架构和PasteScript模板。
  • ToscaWidgets简化了前端设计和服务器部署的协调。


Web2Py


Web2py附带了调试器、代码编辑器和部署工具,使您能够构建和调试代码,以及测试和维护web应用程序。它是一个跨平台的框架,支持Windows、Unix/Linux、Mac、谷歌应用程序引擎和其他不同的平台。



该框架通过web服务器、SQL数据库和在线接口简化了web应用程序开发过程。它使客户机能够通过web浏览器构建、修改、部署和管理web应用程序。


Web2py的关键组件是一个票务框架,它在发生错误时发出票务。这会鼓励客户跟踪错误及其状态。此外,它还内置了管理HTTP请求、响应、会话和cookie的组件。


Web2py的主要特性


  • 支持基于配置的解决方案,促进快速的web开发。
  • 支持MVC架构,简化web开发。
  • 使开发人员能够使用广泛使用的关系数据库和NoSQL数据库。
  • 基于web的IDE,用于加速web开发项目,如清理临时文件、编辑应用程序文件、运行测试和浏览以前的票据。
  • 它自带有用的电池,可以在不使用外部工具和服务的情况下高效地构建各种web应用程序。
  • 通过解决最重要的漏洞和安全问题,确保web应用程序的安全性。


Flask


Flask是一个可以在BSD许可下访问的Python框架,它的灵感来自于Sinatra Ruby框架。Flask依赖于Werkzeug WSGI工具箱和Jinja2模板。其主要目的是帮助开发强大的web应用程序基础。



开发人员可以以任何他们需要的方式开发后端框架,但是,它是为开放的应用程序设计的。弗拉斯克已经被一些大公司使用,包括LinkedIn和Pinterest。与Django相比,Flask最适合小而简单的项目。因此,您可以期待web服务器开发、对谷歌应用程序引擎的支持以及内建的单元测试。


Flask的主要特点


  • 内置的开发服务器和调试器。
  • RESTful请求调度。
  • 集成的单元测试支持(带有质量的代码)。
  • 使用Jinja2模板(标记、过滤器、宏等)。
  • 100% WSGI 1.0兼容。
  • 社区提供的多个扩展简化了新功能的集成。




Bottle


另一个有趣的Python web框架是Bottle,它属于小型框架的范畴。最初,它是为构建web api而开发的。此外,Bottle尝试在一个源文档中执行所有操作。除了Python标准库之外,它没有其他依赖项。



开箱即用的功能包括模板、实用程序、指导和一些基于WSGI标准的基本抽象。与弗拉斯克一样,与使用全堆栈框架相比,您编写的代码与metal更接近。Bottle使开发人员能够更接近硬件。它不仅构建简单的个人使用的应用程序,而且是学习框架和原型的好地方。例如,Bottle已经被Netflix用于它的web界面。


Bottle子的主要特征


  • 通过使用简化的语法映射无斑点和动态url路由。
  • 快速和python内置的模板引擎和支持。
  • WSGI框架与CGI和WSGI内部一起工作很容易。
  • 可以方便地访问数据、cookie、文件上传和其他与http相关的元数据。
  • 在HTTP服务器上工作,支持glue、fapws3、flup或其他一些WSGI合格的HTTP服务器。
  • 测试和高性能的速度优化。


Tornado


Tornado是一个Python web框架和非主流框架库。它利用了一个非阻塞的框架I/O,解决了C10k问题(这意味着,只要正确配置,它就可以处理10,000多个并发连接)。


这使得它成为构建需要高级和大量并发客户机的应用程序的出色工具。


Tornado的主要特征


  • 允许实现第三方认证和授权方案。
  • 卓越的质量,实时的服务,和非阻塞的HTTP客户。
  • 它提供高质量的产品。
  • 支持解释和本地化。
  • 用户身份验证支持和Web模板。


BlueBream


BlueBream还是一个开放源代码的web应用程序框架、服务器和网站开发人员的库。它是由Zope团队开发的,以前叫做Zope 3。



这个框架最适合于中等规模和大规模的活动,这些活动被分配到不同的可重用和非常合适的部分。


BlueBream依赖于Zoop Toolkit (ZTK)。它拥有广泛的经验,确保它满足持久、无情和适应性规划的主要基本要求。


BlueBream的主要特点


  • 强调Python Web服务器网关接口(WSGI)的兼容性。
  • 单元测试和功能测试框架。
  • 插入安全方法的基本机制。
  • 用于开发模板的符合xhtml的语言。
  • 用于自动生成表单的工具。
  • Zope组件体系结构(ZCA)执行关注点分离,以开发强大的可重用组件。


Quixote


Quixote框架用于用Python编写基于web的应用程序。它的目标是适应性和更好的性能,以特定的顺序。Quixote的应用是在传统技术中发展起来的。因此,如果Python开发人员热衷于尝试或学习“真正的编程语言”,那么Quixote就适合他们。格式化web页面的逻辑由Python类和函数组成。


Quixote有三个重要的版本。版本1和版本2彼此相似,但有很大不同。版本1不再有效地维护。版本3需要Python 3,就像Quixote2一样。版本2和版本3得到了有效的维护,并被各种公共站点使用。


Quixote的主要特征


  • 简单灵活的会话管理API设计。
  • 帮助开发和分析HTML表单的函数库。
  • HTML模板是用类似Python的语法编写的,可以像导入其他Python代码一样导入。
  • 与任何支持CGI或快速CGI的web服务器一起工作
  • 支持Apache mod_python
  • 还支持SCGI协议


留言咨询