Django 2024年生态报告

PyCharm 与 Django 基金会合作,对全球 4,000 多名 Django 开发者进行了调查,并根据他们的回答分析了 Django 的最新趋势。

Django 2024年最新趋势

1/3 的 Django 开发者使用 Flask 或 FastAPI

你最常用的框架是哪个?

尽管与去年的 83% 相比略有下降,仍有 74% 的受访者将 Django 作为首选框架。

除了 Django,你还使用哪些 Web 框架?

Flask 的热度略有下降,2022 年为 29%,2023 年为 26%。

FastAPI 的热度保持稳定,25% 的受访者表示自己正在使用 FastAPI。

将 Django 作为主要开发框架的开发者中,有 33% 的人也使用 Flask 或 FastAPI,这显示出 Python 后端开发者多样化的后端技能。

49% 的开发者反馈同时在开发多个项目,他们有可能因为不同的项目需求而选择不同的框架。

  • Django – 采用“内置电池”方法,适用于更大、更复杂的 Web 应用程序。
  • Flask – 适用于相对简单的应用程序,尤其是静态站点或微服务。
  • FastAPI – 创建 API 端点,适用于包含大量 IO 调用的应用程序,尤其是实时 Web 应用程序。

这三个框架都用过的 Django 开发者只有 11%,说明大多数人使用 Flask 和 FastAPI 开发类似的 Web 项目,只是因为异步功能而转向 FastAPI。

开发者主要使用 Django 开发全栈项目与 API

你用 Django 做什么?

今年的调查显示,Django 在全栈开发(73%)和 API 开发(61%)方面都很受欢迎.

对于全职开发者,他们更倾向于使用 Django 开发 REST API(65% vs. 平均 60%),但使用 Django 开发全栈项目的低于平均值(68% vs. 平均 74%)。

随着 htmx 越来越受欢迎,这种趋势也可能会发生变化,更多开发者有可能使用 Django 进行全栈开发。

尽管 DRF 在第三方软件库中仍占据领先地位,但随着以速度和类型而闻名的 Django Ninja 的不断普及,其受热度有所下降。

Django Ninja 提供高性能和异步功能,类似于 FastAPI,但在 Django 生态系统中,它的学习曲线更短。

61% 的 Django 开发者使用异步

你使用哪种异步技术?

Django 开发者明显转向使用异步技术。目前,有 61% 的开发者在项目中使用异步,去年这一比例为 53%。

FastAPI 是专为异步构建的,有 21% 的 Django 开发者为了异步而使用 FastAPI。

尽管 FastAPI 是更受欢迎的异步框架,Django 的异步视图也在逐渐被更多受访者接受(14%)。

随着 Django 5 对异步支持的提升,使用 Django 异步功能的开发者可能会进一步增加。

Django 开发者对 htmx、Alpine.js 和 Tailwind CSS 的偏好转变

除了 Python,你还使用哪种编程语言?

JavaScript 是最受欢迎的前端语言,有 68% 的开发者使用 JavaScript,但它正逐渐将领先地位让给 TypeScript。

JavaScript 的比例从 2022 年的 75% 下降至 2023 年的 68%。

TypeScript 则从 2021 年的 19% 增长至 2023 年的 28%。

TypeScript 热度的提升是因为其静态类型功能,能帮助开发者在开发过程中提前发现错误,使代码更加健壮,也更易于维护。

你使用哪种 JavaScript 框架?

Django 开发者仍然青睐 JavaScript 框架。

Vue 的使用率为 19%,jQuery 的使用率为 31%,React 的使用率为 35%,尽管它们的总体使用率逐年下降。

对于较新的框架,htmx 的使用率从 2022 年的 16% 增长到 2023 年的 23%,Alpine.js 从 6% 增长到 10%。

这一趋势表明 UI 开发将转向使用更简单的工具。

Adam Johnson 开发了一个专用的 django-htmx 包。

你使用哪个 CSS 框架?

Bootstrap 的使用率在持续下降,Tailwind CSS 的使用率则在显著增长。

Tailwind CSS 的热度在过去两年中翻了一番。与 Bootstrap 相比,Tailwind CSS 的热度越来越高。

这表明开发者希望在 Web 项目中采用更可定制、更少规范的 CSS 实现工具。

75% 的 Django 开发者青睐 PostgreSQL

你使用哪个数据库?

在 Django 生态系统中,PostgreSQL 是开发者的首选数据库 (76%),凸显了开发者对 SQL 的偏好。

开发者对 MongoDB (8%) 等 NoSQL 数据库的兴趣也很大,反映出数据库市场格局的多样化。

尽管缺少 Django 的官方支持,MongoDB 仍是数据库的顶级候选者,充分反映了开发者集成更灵活的,面向文档的 NoSQL 数据库的意愿。

50% 的开发者依赖 Redis 进行缓存

你使用哪个后端缓存数据库?

在缓存方面,Redis 仍是提高 Web 应用程序响应能力的首选 (54%)。

但同时, Memcached 也受到越来越多的关注 (20%) 。

超过 50% 的 Django 开发者使用容器

你在生产环境中使用哪种容器服务?

Amazon ECS/Fargate (19%) 凭借其易用性和与 AWS 的集成而处于领先地位,成为 AWS 生态系统中开发者的首选。

Kubernetes (14%) 则吸引了希望能灵活控制基础设施的开发者,以及在私有云和公有云之间具有轻松迁移和共享能力的开发者。

Amazon EKS (12%) 和 Docker Swarm (12%) 的流行可能是因为它们在可管理性和可扩展性之间提供了平衡,可满足各种部署需求。

GitHub Actions 成为行业领头羊

你使用哪种 CI 系统?

在 CI 领域的增长(2023 年为 45%,2021 年为 35%),让 GitHub Actions 凸显了它为使用 GitHub 管理源代码的开发者带来的便利。

GitHub Actions 利用简单的 YAML 文件管理管道,可直接在 GitHub 生态系统内自动化软件工作流程。

此外,它还能灵活地自定义硬件配置,其强大的处理能力和内存还支持运行规模庞大的任务。

39% 的 Django 开发者使用 IaC

你使用哪种 IaC 工具?

39% 的受访者使用基础设施即代码(Infrastructure as code,IaC),这表明通过代码实现自动化和基础设施管理的需求在日益增长。

对于大型项目,IaC 可以确保更可靠、可重复和可扩展的基础设施设置。

Terraform 是最常用的 IaC 引擎,20% 的受访者表示他们更喜欢 Terraform 。

5% 的受访者选择了开源解决方案 Pulumi,这可能是因为 Pulumi 可以灵活地使用多种编程语言管理基础设施。

这使得具有多种编程语言背景的开发者和 DevOps 工程师都可以使用 Pulumi。

Terraform于 2022 年开始通过 CDK 提供类似的方式。

Django 学习资源

你通过哪些平台了解 Django 开发?
你通过哪些平台学习 Django?

全职开发者较少通过观看 YouTube 上的视频来学习 Django(32% vs. 平均 39%),并且较少使用 AI 辅助开发工具(22% vs. 平均 26%)。

团队负责人 将 Django News、Hacker News、Reddit 及 X(前 Twitter)作为了解 Django 最新进展的渠道,大多情况下向朋友请教 Django 的知识(19% vs. 平均 17%)。

初级开发者则经常通过 YouTube 和 StackOverflow 学习,也更倾向于通过这些平台了解 Django 的消息。

初级开发者比资深开发者更频繁地使用 AI 辅助开发工具(38% vs. 平均26%)。

多样生态

  • 全职 Django 开发者更多是仅将 Django 用于工作(23% vs. 平均 17%)。

  • 如果把团队负责人和全职开发者并为一组的话,他们最喜欢的核心组件是迁移,不太喜欢的组件包括身份验证、模板及类视图。

  • 团队负责人更倾向于使用 PyCharm(31% vs. 平均 29%)和 Vim(12% vs. 平均 7%),VS Code 则略少(31% vs. 平均 29%)。

受访者信息

在过滤掉重复和不可靠的答案后,本次调查的数据集包含了 2023 年 9 ~ 10 月期间收集的约 4,000 份回答。

区域分布

你在哪个区域?

44% 的受访者在欧洲,19% 在北美,17% 在亚洲。

年龄分布

你在哪个年龄段?

大多数受访者(86%)的年龄在 21 至 49 岁之间。

38% 的受访者年龄在 31 至 39 岁之间。

30% 的受访者年龄在 21 至 29 岁之间。

开发经验

你有多少年的开发经验

32% 的受访者拥有 11 年以上的专业开发经验。

24% 的受访者拥有 3-5 年的专业开发经验。

19% 的受访者拥有 6-10 年的专业开发者经验。

从事专业开发工作不到两年的受访者占 25%。

岗位职责

你的岗位职责是什么?

79% 的受访者的岗位职责包括开发/编程或软件工程。

16% 的受访者是团队负责人。

10% 的受访者的工作包括数据分析、数据工程或数据科学。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容