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

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 接口即可,尤其是能帮助做好数据校验,这对前端来说是个好事,也让开发工作变得简单和效率起来。

---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值