赞
踩
框架是用来帮助我们提升效率,节省时间,避免处理那些低级细节的,如果能达到这个目标,就是一个合适的框架。选择合适的框架,会事半功倍。
Python 领域,开发 Web 应用程序的三个主流框架是 Django,Flask 和 FastAPI。它们都非常优秀,但有各自的特点。
Django 是用于构建网站的免费开源 Web 开发框架。于 2003 年创建,使用 MTV 模式(Model-Template-View),如果不使用 Django 的模版语法,也可以认为是 MVC 模式(Model-View-Controler),对应三个文件:models.py, views.py, urls.py。
Django 以其健壮和简单的特性而广受欢迎,地位相当于 Java 领域的 Spring,并被 Instagram,Youtube 等技术巨头使用,找工作面试,Django 也是重头戏。Django 非常流行,极客时间已经有专门的付费教程。其次它的设计哲学与 Python 非常搭配,鼓励代码复用。
1.优点
Django 框架的代码结构统一且清晰易懂,开发人员可以像做填空题一样添加更多功能,也可以设计自定义的类或接口,即简单也不失灵活性、扩展性。
Django 生态还有一个利器就是 Django Rest Framework(DRF),DRF 可以让你轻松搭建具有 REST 风格的 - API,由于它具有模块化和可自定义的架构,在前后端分离的趋势下,使用 Django 构建 Web API 也非常容易。
自带安全性的中间件。Django 通过提供针对联合 SQL 注入和跨站点请求伪造攻击的防御来提供安全性的访问。
Django 生态非常丰富,第三方类适配的类库也非常多,这意味着遇到问题时你并不孤单。
2.缺点
3.Django 的用例
Django 可以处理任何规模和容量的项目。我们可以将其用于简单站点或高性能站点。一些用例如下:
管理仪表板,基于照片的验证,用于发送用户通知的电子邮件系统等。
简而言之,如果要做一个上规模,不断扩展的,大规模,商业化的 Web 项目,Django 是最好的选择
Flask 是一个用 Python 编写的微型 Web 框架,可用于开发简约的 Web 应用程序。Flask带有诸如模板引擎,缓存和身份验证之类的选项。
Flask 的创建是为了使用 Python 编程语言构建 Web 应用程序。它被设计为易用,快速并且可以扩展成为复杂的应用程序或微服务。
Flask 更像是创作者 Armin Ronacher 在 4 月 1 日对愚人节的恶作剧,在其中依赖了Werkzeug 和 Jinja。令人惊讶的是,它受到了社区的赞赏,这使他们在此方面做得更多。
1.优点
与其他 Web 应用程序框架不同,Flask 可以完全控制 Web 开发,从而完全控制应用程序和 Web 开发。
Flask 允许进行单元测试,并且由于其内置的开发服务器,集成的支持等,因此可以通过对一些扩展进行调整来过渡到 Web 框架。
Flask 简单易用,非常适合初学者使用,为开发人员提供了更好地学习和理解它的空间。它还使开发人员可以毫不费力地快速创建应用程序。
2.缺点
Flask 的很多模块由第三方开发,容易引起安全漏洞。
Flask 具有一个单一的来源,表示它将依次处理每个请求,因此,无论有多少个请求,它仍然会轮流处理它们,这会耗费更多时间。
如果开发人员水平不高,更容易使用低质量的代码创建一个不良的 Web 应用程序。
3.用例
可以将 Flask 用于商业项目。它可以帮助你快速入门,但是网站高负荷情况下效果不佳。可以快速实施 Flask 项目,例如:
如果要做一些小型个人项目,比如聊天机器人,或者想实现产品的快速原型,或者喜欢自由的编写代码控制程序的流程,那么可以选择 Flask,如果说 Django 是具备半自动驾驶的大型车,那么 Flask 就是可自由操纵的手动挡小汽车。
FastAPI 是用于构建 Web API 的现代、开源、快速、高性能的 Web 框架,它基于Python 3.6+ 标准类型提示,支持异步,正如它的名字,FastAPI 就是为构建快速的 API 而生。
1.优点
自动类型检查。这意味着更少的 Bug,即使在深度嵌套的 JSON 请求中,Fast API 也会验证开发人员的数据类型。
集众所长,站在巨人的肩膀上。FastAPI 建立在 JSON Schema(用于验证JSON数据结构的工具),OAuth 2.0(用于授权的行业标准协议)和OpenAPI(这是可公开获得的应用程序编程接口)之类的标准之上。
现代化。FastAPI 使使用称为 graphene-python 的 Python 库轻松构建 GraphQL API 。
快速、高性能。可以和 NodeJS 和 Go 相提并论。
2.缺点
由于 FastAPI 相对较新,因此与其他框架相比,社区较小,第三方的教程相对较少。
3.用例
FastAPI 适用于构建高性能的 API,本身支持异步,如果要构建异步 API,可以优先选择 FastAPI。Netflix 将其用于内部危机管理。它还可以在部署准备就绪的机器学习模型时完美缩放,因为当 ML 模型封装在 REST API 并部署在微服务中时,它在生产中会发挥最佳作用。
从软件包,社区,性能,灵活性,职位空缺和培训来进行比较。
仔细比较之后,你也许可以选择最适合你的那一个。总而言之,如果你想构建健壮的全栈式网站,那么 Django 是完美的选择,因为它具有多种功能并且在生产中运行良好。
对于需要快速原型化 Web 应用程序并轻松快速地构建 API 的机器学习工程师或开发人员而言,Flask 是理想的选择。
如果你正在寻找速度或可伸缩性,FastAPI 是完美的选择。根据你要使用的框架来选择框架始终是明智的选择。
但是总的来说,它们都很好并且有很好的市场需求。
原文来源:https://www.cnblogs.com/zhuminghui/p/14741536.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。