Python 中有哪些框架可用于构建应用程序?
在本文中,我们将讨论用于在 Python 中构建应用程序的框架。
Python 正在经历惊人的增长趋势。并且在短期内没有放缓的迹象。
人工智能、智能手机、超级计算机以及其他类似技术正在永远改变我们的世界。我们可以使用这些技术支持的语言构建各种移动应用程序和程序。Python 是最广泛使用的编程语言之一。
根据 Stack Overflow 的开发者调查,Python 在 2018 年是最受欢迎的语言,超过了 C# 和 PHP。Python 的增长表明它已经发展成为一个高级平台,拥有 93,197 家优秀企业。
Python 胜过其他语言,因为它成熟度高、库更好,并且适用于小型和大型 Web 开发项目。Python 工程师在各个行业的需求量很大,包括机器学习、数据库、云基础设施、UI/UX 设计、数据分析、Web 抓取、安全、移动开发和 API,仅举几例。
Python 平台主要用于数据分析和 Web 开发。
流行的 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 服务器网关接口 (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 是一个 Python 库,允许您创建动态 Web 内容。
特点
支持配置约定并支持快速 Web 开发。
支持 MVC 架构,使 Web 开发更容易。
允许开发者使用广泛使用的关系型和 NoSQL 数据库。
基于 Web 的 IDE,用于 Web 开发项目,例如清理临时文件、编辑应用程序文件、运行测试和浏览以前的工单。
它包含有用的工具包,用于快速构建各种 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 路由。
内置模板引擎和快速且 Python 风格的后端。
很容易将 WSGI 框架与 CGI 和 WSGI 内部组件一起使用。
允许方便地访问数据、cookie、文件上传和其他与 HTTP 相关的元数据。
作为 HTTP 服务器和 glue、fapws3、flup 或其他支持 WSGI 的 HTTP 服务器的后端工作。
提高测试速度和高性能。
CherryPy
CherryPy 已经有近十年的历史,已被证明非常快速且稳定。它是一个 Python Web 开发框架,包含它自己的多线程服务器。它与任何支持 Python 的现有框架兼容。
一个简单的Web框架允许您使用任何技术进行数据访问、模板化等等。是的,它可以处理Web框架可以处理的所有内容,例如会话、文件上传、静态文件、cookie等等。
CherryPy允许开发人员像创建任何其他面向对象的Python程序一样创建Web应用程序。因此,可以用更少的时间创建更少的源代码。
特点
一个符合HTTP/1.1的WSGI线程池Web服务器。
同时运行多个HTTP服务器(例如,在多个端口上)非常简单。
支持Python 2.7+、3.5+、PyPy、Jython和Android。
内置编码、会话、缓存、身份验证、静态内容和许多其他功能。
一个健壮的配置系统,适用于开发人员和部署人员。
内置性能分析、代码覆盖率和测试。
Pyramid
Pyramid的普及率正在稳步提高。大多数经验丰富的开发人员都赞成它。Pyramid框架是用Python 3编写的。这个框架具有适应性,允许用户使用极简主义的方法创建简单的Web应用程序。
Pyramid框架用途广泛,可用于简单和复杂的应用程序。由于其透明性和衡量的质量,它是经验丰富的Python开发人员中最受欢迎的Web框架。它已被Mozilla、Yelp、Dropbox和SurveyMonkey等科技巨头采用。
特点
能够很好地处理小型和大型应用程序
基于路由配置的URL映射,通过URL调度和WebHelpers进行HTML结构验证和生成
完整的模板和资源细节
测试、支持和详细的数据文档
身份验证和授权都非常灵活。
结论
在本文中,我们了解了一些用于开发Python应用程序的框架。我们还了解了这些框架的功能。