为什么越来越多的 Python 开发者选择使用其他框架替代 Django?

FastAPI开发:基于Python的web应用开发实战

image.png

Django社区现状

Django 是非常流行的 Python Web 框架,被世界各地被许多大型企业以及组织采用,但也遇到了多数大型开源项目难以避免的问题:活跃贡献者流失,新贡献者供不应求。James Bennett 提到,不少开源项目依赖企业支持来解决此类问题,借由企业员工帮忙维护项目以确保持续发展。Django 早期也是以这样的方式生存,遗憾的是,最终没有发展成长期模式。这也意味着 Django 现在完全依靠的是没有酬劳的贡献者,并已经开始供不应求。

Django 的优点

最大优势,Python,Python 的库实在是太多太好用了,和机器学习、数据分析以及批处理办公契合度太高,使得任何一个 Python 库都可以在 Django 的框架内以一种插件或者模块的形式存在。

学习成本低,我们团队0基础的运维同事,最多 2 个周就能上手写 view 了,这和 Python 本身编程简易有很大关系,更重要的是 Django 自己是一套完整的体系,有自己连贯的逻辑很适合长期应试教育下的学生学习,而不是像 Java 那种开发式的得东补一块西凑一片的才能把整个主流体系都学会。

开发成本低,在缺少前端工程师的情况下,Django 的模板系统和管理站点简直是大多数小系统小项目的救星,HTML 和简单的语法就能解决问题,从时间和金钱上双重节约成本,这种特点也是它的巨大优势。

Django 的缺点

  • 它实在是太重型了,有自己的一套准则,集成了大量的功能,这对于想要有自主知识产权的平台来说实在是不合适。
  • 它的执行效率很低,尤其是使用自带的模板系统的时候,渲染那种大型页面要数秒,当你使用 import-export 库进行导入的时候,那个预览页面有时候都能耗时数分钟才能渲染完。
  • 随着开发越来越多的模块,整个项目变得十分的臃肿,很多功能是逐步更新的,但是旧的代码却一直留存,导致了很多无用代码的存在,虚拟化 docker 打包后的镜像非常的大。这对于很多开发者来说,是非常不友好的。

双刃剑

  • 强制要求关系型数据库,虽然说也能有库支持非关系型数据库,但是总得来说还是要求关系型的,这就导致 Django 对于数据的结构化程度要求很高,数据之间要有清晰的逻辑关系。但好处也是很明显的,逻辑严密,基本不会出错误。
  • 程序结构十分清晰,但是有些模块是用不着的,就会产生资源浪费
  • Python 依赖库支持强大,但也同样的,有些依赖库需要我们去花时间成本来研究更好的使用

Django 行业使用现状

在过去的几年里,Django 一直是 Python Web 开发中最受欢迎的框架之一。但是,在一些新兴的技术趋势的推动下,包括异步编程、无服务架构和机器学习等,有越来越多的开发者开始选择替换 Django 为其他框架。

以下是导致开发人员逐渐选择使用其他框架的一些原因:

Django 的性能问题:尽管 Django 在开发效率和功能丰富性方面表现出色,但在高并发、低延迟应用场景下,Django 的性能仍然不太够用。这主要是由于 Django 采用的同步编程模式,在高并发场景下无法充分地利用 CPU 资源。

异步编程需求:随着异步编程的普及和丰富,越来越多的应用场景需要异步编程来提高吞吐量和响应性能。然而,Django 自身并没有提供支持异步编程的功能,需要依赖第三方库或其他框架进行支持。

Django ORM 的缺陷:Django 内置的 ORM(对象关系映射)功能虽然使用方便,但性能不尽如人意。而很多新兴的 Python 应用框架,比如 FastAPI 和 Flask 等,采用了一些新型的 ORM 技术,比如 Pydantic 和 SQLALChemy 等。这些新技术能够更好地支持异步编程。此外,这些框架也拥有更灵活的 SQL 查询方式,更好的安全性和性能。

前后端分离需求:越来越多的 Web 开发人员需要将前后端分离,使用一些 JavaScript 库和框架开发前端,并且使用 API 来与后端进行通信。在这种情况下,使用 Django 可能比较繁琐,而许多新兴的 Python Web 应用框架,如 FastAPI 等具有支持 API 开发的功能,能够更加轻松地实现前后端分离。

在总体上,Django 仍然是一个强大、功能丰富的 Web 应用框架,能够帮助开发人员快速开发 Web 应用。然而,随着一些新兴技术的普及和需求的变化,一些开发者开始转向使用其他框架,以满足更强的性能、更好的异步编程支持、新型 ORM 技术、前后端分离等需求。

对于目前的敏捷开发来说,我们需要更快的框架来集成更快的开发,来更加友好的给用户更加清晰的 API 展示。 更快的前后端交互,对于后端来说,只需要提高标准化的 API 接口即可,尤其是能帮助做好数据校验,这对前端来说是个好事,也让开发工作变得简单和效率起来。

我们的追求是:更高、更快、更强。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值