Python中用于制作应用程序的框架有哪些?
在本文中,我们将讨论在Python中制作应用程序所使用的框架。
Python正经历着惊人的增长趋势,并且在不久的将来没有放缓的迹象。
人工智能、智能手机、超级计算机和其他类似技术正在不断改变着我们的世界。我们可以使用支持这些技术的语言构建各种移动应用程序和程序。Python是最广泛使用的编程语言之一。
根据Stack Overflow的开发人员审查,Python是2018年最受欢迎的语言,超过了C#和PHP。 Python的增长意味着它已经发展成为一个高级平台,拥有93,197个出色的企业。
Python由于成熟度高、库更好、适用于小型和大型Web开发项目而打败了其他语言。Python工程师在许多行业中都非常抢手,包括机器学习、数据库、云基础架构、UI/UX设计、数据分析、网络爬虫、安全、移动应用程序开发和API等。
Python平台主要用于数据分析和Web开发。
更多Python相关文章,请阅读:Python 教程
流行的Python框架
以下是一些流行的Python框架:
Django
Django是一个自由且开源的Python框架,允许开发人员快速创建复杂的代码和应用程序。 Django框架有助于开发高质量的Web应用程序。它是用于快速创建API和Web应用程序的最佳Python框架之一。
Django框架已经用于创建超过12,000个知名项目。此外,它是更有经验的Python Web开发框架之一。
这个高级框架通过提供各种强大的功能来简化Web应用程序开发。它具有大量的库集合,并强调效率、少量编码和组件可重用性等特点。
特点
- 帮助你定义应用程序URL的模式。
-
内置身份验证系统。
-
简单而强大的URL系统。
-
基于对象的编程语言数据库具有最佳的数据存储和恢复能力。
-
自动管理员界面功能允许自定义编辑、添加和删除项目。
-
缓存框架是缓存机制的集合。
Grok
Grok是一个使用Zope工具包技术构建的Web框架。它通过专注于两个主要原则,即约定优于配置和DRY(不要重复自己),为开发人员提供了敏捷的开发体验。它是一个旨在加速应用程序开发的开源框架。
Grok开发人员可以根据任务要求从大量的网络和独立库中选择。Grok的用户界面(UI)与其他全栈Python框架(如Pylons和TurboGears)的用户界面类似。
特点
- 为构建强大且可扩展的Web应用程序提供了坚实的基础。
-
允许Web开发人员利用Zope 3的功能。
-
用于存储的强大的对象数据库。
-
集成的安全性可保护您的应用程序并为特定用户授予访问权限。
-
Grok组件体系结构可帮助开发人员减少开发的不确定性。
-
提供了创建针对业务需求定制的自定义Web应用程序所需的构建块和其他资产。
BlueBream
BlueBream 是一款开源的Web应用框架、服务器和网站开发库。它由 Zope 团队创建,以前被称为 Zope 3。
这个框架最适合将中等和大规模操作分成可重复和适应良好的部分。
Bluebream 使用 Zoop 工具包(ZTK)。它具有丰富的经验,确保它满足长期、一致和适应性编程的主要要求。
特征
- 强调 Python Web Server Gateway Interface(WSGI)兼容性。
-
单元测试和功能测试的框架
-
插件安全方法的基本机制。
-
符合 XHTML 的模板开发语言。
-
自动生成表单的程序
-
Zope 组件架构(ZCA)实现了关注点分离,以创建强大的可重用组件。
TurboGears
TurboGears 是一个用于构建数据驱动的全栈 Web 应用程序的 Python 框架。它被设计来解决许多广泛使用的 Web 和移动应用程序开发框架的问题。它使软件开发人员能够开始设计Web应用程序,只需最小的设置。
TurboGears 允许Web开发人员使用多个JavaScript开发工具来加速Python网站开发。借助 SQLAlchemy、Repoze、WebOb 和 Genshi 等功能,您可以比使用现有框架更快地构建Web应用程序。它可以与各种数据库和Web服务器配合使用,包括 Pylons。
该框架遵循 MVC(模型-视图-控制器)设计,并具有强大的格式、优秀的对象关系映射器(ORM)以及用于服务器和程序的 Ajax。使用 TurboGears 的公司包括 Bisque、ShowMeDo 和 SourceForge。
特征
- 所有的特性都是作为函数装饰器实现的。
-
支持多数据库。
-
可访问命令行工具。
-
集成了 MochiKit JavaScript 库。
-
MVC 架构加上 PasteScript 模板
-
ToscaWidgets 使前端设计和服务器部署更加容易协调。
Web2py
Web2py 是一个基于 Python 的平台,用于创建动态 Web 内容。自 2007 年首次发布以来,该技术已包含代码编辑器、调试器和部署工具。Web2py 是一个允许您创建动态 Web 内容的 Python 库。
特征
- 支持配置协议,实现快速的Web开发。
-
支持 MVC 架构,使Web开发更加容易。
-
允许开发人员使用广泛使用的关系和 NoSQL 数据库。
-
用于Web开发项目的 Web-based IDE,例如清除临时文件、编辑应用文件、运行测试和浏览以前的工单。
-
包含有用的“电池”,可快速构建各种Web应用程序,无需第三方工具和服务。
-
通过解决顶级漏洞和安全问题,保持Web应用程序的安全性。
Flask
Flask 是一个受 Sinatra Ruby 框架启发的 Python 框架,可在 BSD 许可下使用。 Flask 依赖于 Werkzeug WSGI 工具箱和 Jinja2 模板。其主要目标是帮助构建强大的Web应用程序基础。
Python后端框架可以按照开发人员所需的任何方式开发;但是,它是为开放式应用程序设计的。Flask已被LinkedIn和Pinterest等大公司采用。与Django相比,Flask最适合小型和简单的项目。因此,您可以预测Web服务器开发、Google App Engine支持和内置单元测试。
特征
- 内置开发服务器和调试器。
-
RESTful请求分发。
-
支持集成单元测试。
-
使用Jinja2模板(标签、过滤器、宏等)。
-
100%符合WSGI 1.0标准。
-
社区已创建多个扩展以帮助引入新功能。
Bottle
Bottle是一个WSGI微Web框架,这意味着它是一个单独的文件,除了Python标准库中的分布式模块外没有任何依赖项。所有这些都包含在框架中,包括通过URL进行请求分发、键值数据库和模板以及内置的HTTP服务器支持。
特征
- 简单的语法允许无缝和动态的URL路由映射。
-
内置的模板引擎和快速、pythonic的后台支持。
-
可以轻松使用WSGI框架与CGI和WSGI内部。
-
允许方便地访问数据、cookies、文件上传和其他与HTTP相关的元数据。
-
作为HTTP服务器和Glue、Fapws3、Flup或其他支持WSGI的HTTP服务器的后端工作。
-
用于测试和高性能的速度增强。
CherryPy
近十年来,CherryPy已被证明非常快速和稳定。它是一个Python Web开发框架,包括自己的多线服务器。它与支持Python的任何工作框架兼容。
一个简单的Web框架使您可以使用任何技术来访问数据、模板等。是的,它可以处理Web框架可以处理的所有内容,如会话、上传文件、静态文件、cookies等等。
CherryPy允许开发人员以与创建任何其他面向对象的Python程序相同的方式创建Web应用程序。因此,较少的源代码可以在较短的时间内创建。
特征
- WSGI线程池Web服务器,符合HTTP/1.1标准。
-
可以轻松同时运行多个HTTP服务器(例如,多个端口)。
-
支持Python 2.7+、3.5+、PyPy、Jython和Android。
-
编码、会话、缓存、身份验证、静态内容和许多其他功能都已内置。
-
供开发人员和部署者使用的强大配置系统。
-
内置剖析、覆盖率和测试。
Pyramid
Pyramid的受欢迎程度正在逐步增加。大多数经验丰富的开发者都支持它。Pyramid框架是用Python 3编写的。该框架是灵活的,并允许用户使用简约的方法创建简单的Web应用程序。
Pyramid框架非常灵活,可用于简单和复杂的应用程序。由于其透明度和精益质量,它是经验丰富的Python开发人员中最受重视的Web框架。它已被技术巨头Mozilla、Yelp、Dropbox和SurveyMonkey采用。
特征
- 具有处理小型和大型应用程序的能力
-
基于路由配置的URL映射,通过WebHelpers进行HTML结构验证和生成
-
完整的模板和资产详情
-
测试、支持和详细的数据文档
-
认证和批准都很灵活。
结论
在本文中,我们学习了用于开发Python应用程序的一些框架,同时也了解了它们的特点。