调查了全球 4000 名开发者后,我们对 Django 的认知又多了这些…… | Django 开发者调查

Django 开发现状如何?PyCharm 与 Django Foundation 合作,调查采访了全球 4,000 多名 Django 开发者,并根据回复分析了框架的使用趋势。

在这篇博文中,我们将与您分享以下主要发现:

  • 每三名 Django 开发者中有一名也使用 Flask 或 FastAPI。

  • 大多数开发者使用 Django 进行全栈和 API 开发。

  • 61% 的 Django 开发者使用异步技术。

  • 还有更多洞察!

详细了解这些发现,探索 Django 开发中的其他趋势,并从图解信息图中受益。


后端:

每三名 Django 开发者中

扫描二维码关注公众号,回复: 17400166 查看本文章

有一名也使用 Flask 或 FastAPI



Django 仍然是 74% 开发者的首选框架,尽管这一数字与去年的 83% 相比略有下降。FastAPI 人气不减,有 25% 的受访者表示正在使用。与此同时,Flask 的使用率略有下降(2022 年为 29%,2023 年为 26%)。

33% 主要使用 Django 的 Web 开发者也使用 Flask 或 FastAPI,表现出多样化的后端技能。

鉴于大多数全职开发者 (49%) 表示同时在多个项目上工作,这可能说明他们出于不同目的选择不同的工具:

  • Django – 得益于其“内置电池”方式,适用于更大、更复杂的 Web 应用。

  • Flask – 适用于更简单的应用程序(尤其是静态站点)或微服务。

  • FastAPI – 创建 API 端点,特别是应用程序包含大量 IO 调用时(尤其是对于实时 Web 应用程序)。

只有 11% 的 Django 开发者使用所有三个框架,这可能表明其中大多数人出于类似目的使用 Flask 和 FastAPI,并由于异步能力而转向 FastAPI。

想了解 Django 与 Flask 和 FastAPI 有什么不同?查看我们对 Django 与 FlaskDjango 与 FastAPI 的详细比较,了解哪个框架最适合您的需求。


开发 API:

大多数开发者使用 Django 

进行全栈和 API 开发



今年的调查显示,Django 在全栈 (74%) 和 API 开发 (60%) 中都很受欢迎,全职开发者更倾向于从事 API 工作。全职开发者更有可能使用 Django 进行 REST API 开发(平均 65% 对比 60%),但不太可能将其用于全栈开发(平均 68% 对比 74%)。

随着 htmx 越来越受欢迎,趋势可能会转向使用 Django 的全栈开发。

有趣的是,虽然 DRF 在第三方软件包中保持领先,但其受欢迎程度有所下降,而速度和输入能力优越的 Django Ninja 则越来越受欢迎。Django Ninja 提供了高性能和异步能力,类似于另一个非常流行的 API 创建选择 FastAPI,但它在 Django 生态系统中使学习曲线缩短。

使用 API?阅读本教程了解如何使用 Django REST 框架构建 API


异步:

61% 的 Django 开发者使用异步


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

FastAPI 在构建时充分考虑了异步编程,目前 21% 使用异步技术的 Django 开发者在使用 FastAPI。使用 Django 异步视图的受访者也在增加 (14%),但 FastAPI 在异步任务中仍然更受欢迎。即将发布的 Django 5 预计会提供更多异步支持,因此在 Django 中使用异步的兴趣可能会进一步提升


前端:Django 开发者对 htmx、

Alpine.js 和 Tailwind CSS 

的偏好转变


在前端方面,JavaScript 仍然是最受欢迎的语言,68% 的开发者表示正在使用。不过,其领先优势有所动摇(2021 年和 2022 年为 75%),而 TypeScript 已从 2021 年的 19% 大幅提高到 2023 年的 28%。这种受欢迎程度提升可能得益于 TypeScript 的静态类型特性,这有助于在开发过程早期发现错误,使代码更加稳健和易于维护。

专业 Django 开发者仍然明显偏爱 JavaScript 框架,尽管其总体使用率逐年下降,竞品 Vue 的使用率为 26%,jQuery 为 35%,React 为 42%。

htmx(从 2022 年的 16% 提升到 2023 年的 23%)和 Alpine.js(从 6% 提升到 10%)这样的新框架正在迅速获得关注,表明向现代用户界面和更简单工具的转变。Adam Johnson 开发了专属 django-htmx 软件包

Dennis Ivy 对 htmx 的看法:

“很高兴在这里看到 HTMX。我不是它的铁粉(React 是我的首选),但我认为它适合许多需要一点灵活性而又不必转向成熟 JS 框架/库的 Django 项目。”

Bootstrap 继续呈下降趋势,而 Tailwind CSS 则显著提升,受欢迎程度在过去两年翻了一番。与 Bootstrap 相比,Tailwind CSS 的受欢迎程度日益增长,表明人们渴望在 Web 项目中采用可定制程度更高、规定更少的样式设置方式。阅读软件包创建者 Tim Kamanin 的文章,了解如何在 Django 中使用 Tailwind CSS

Dennis Ivy 对 Tailwind CSS 的看法:

“很高兴看到 Tailwind-Django 的使用率有所增加。希望这个领域有更多原生集成和教育内容。”



数据库:

75% 的 Django 开发者

偏好 PostgreSQL,

50% 依赖于 Redis 进行缓存


在 Django 生态系统中,PostgreSQL 是开发者的首选数据库 (76%),这突显了开发者对用于 Web 应用程序的基于 SQL 的稳健系统的偏好。MariaDB (10%) 和 MongoDB (8%) 等 NoSQL 数据库的使用率也值得注意,这反映了数据库格局的多样化。

尽管缺乏官方 Django 支持,无架构且可扩缩的 MongoDB 仍进入顶级数据库选择之列,这反映了开发者愿意集成更灵活、面向文档的数据库。

您使用 MongoDB 吗?阅读这篇分步指南了解如何将 Django 与 MongoDB 连接

Dennis Ivy 对 MongoDB 的看法:

“考虑到 Mongo 采用的不同方式以及与 Django 的不兼容性,这个数字有点出乎我的意料。很想知道这 8% 的经验水平。我怀疑他们是新人和/或运行实验项目的开发者。

与几位 MongoDB 团队成员交流后,我在一篇文章中总结了我对这项集成的看法。”

在缓存方面,Redis 仍然是增强 Web 应用响应能力的首选解决方案 (54%),Memcached (20%) 也越来越受欢迎。


编排:

超过 50% 的 Django 开发者

使用容器编排


在受欢迎的服务中,Amazon ECS/Fargate (19%) 凭借其易用性和 AWS 集成而处于领先地位,是 AWS 生态系统中开发者的自然选择。

自托管 Kubernetes (14%) 适合寻求灵活性和基础架构控制以及在私有云和公共云之间轻松迁移和共享的受访者。Amazon EKS (12%) 和 Docker Swarm (12%) 的流行可能归因于它们在可管理性和可扩缩性之间的平衡,可以满足多种部署需求。

处理 Kubernetes 基础架构?阅读这篇指南了解如何在 Kubernetes 中部署 Django 应用


CI 系统:

GitHub Actions 引领行业


GitHub Actions 在 CI 领域的增长(从 2021 年的 35% 到 2023 年的 45%)凸显了它对已经使用 GitHub 进行源代码管理的开发者的便利程度。它利用直观的 YAML 文件进行管道管理,这使其成为直接在 GitHub 生态系统中自动执行软件工作流的便捷、高效的工具。此外,它还可供按需灵活使用自定义硬件配置,并具有足够的处理能力或内存来运行更大的作业。


IaC:

39% 的 Django 开发者

使用基础架构即代码


39% 的受访者使用基础架构即代码解决方案,这凸显了通过代码实现自动化和基础架构管理的增长趋势。对于较大的项目,IaC 可以确保更可靠、可重复和可扩缩的基础架构环境。Terraform 是最常用的基础架构即代码配置引擎,20% 的受访者更喜欢它。

有趣的是,5% 的受访者选择了开源解决方案 Pulumi。原因可能是,Pulumi 从一开始就提供了使用任意编程语言管理基础架构的灵活性。这使 Pulumi 广泛适用于任何背景的开发者和 DevOps 工程师。Terraform 在 2022 年开始通过 CDK 提供类似的选项。


根据 Django 开发者的工作

和经验得出的洞察


Django 学习资源



全职开发者较少通过观看 YouTube 学习 Django(平均 32% 对比 39%),并且较少为此使用 AI 工具(平均 22% 对比 25%)。

团队主管中,Django News 简报、Hacker News、Reddit 甚至 X(以前称为 Twitter)都是了解 Django 发展的更流行方法。他们甚至表示更常向朋友学习(平均 16% 对比 11%)。

初级专业人士更常使用 YouTube 和 Stack Overflow,既是为了教育目的,也是为了跟上 Django 生态系统的发展。对于喜欢的学习方法,他们往往比资深同事更常使用新的 AI 工具(平均 38% 对比 25%)。

其他

  • 全职 Django 开发者更有可能仅将 Django 用于工作(平均 23% 对比 17%)。

  • 团队主管和全职开发者整体最喜欢的核心组件是迁移性,不太喜欢的组件包括身份验证、模板,甚至基于类的视图。

  • 对于主要编辑器,团队主管倾向于使用 PyCharm(平均 31% 对比 29%)和 Vim(平均 12% 对比 7%),而不是 VS Code(平均 31% 对比 29%)。



开始使用 PyCharm 

开发 Django 应用

您使用 Django 吗?PyCharm 是适用于 Django 的一流 IDE。使用 Django 特定的代码洞察、代码补全和高亮显示更快地编码。轻松浏览项目。一键连接到您的数据库,并使用 TypeScript、JavaScript 和其他前端框架。PyCharm 也直接支持 Flask 和 FastAPI。

免费试用 PyCharm


调查统计数据

滤除重复和不可靠的回复后,数据集包含 2023 年 9 月和 10 月收集的约 4,000 份回复。

区域分布


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

年龄分布

大多数受访者的年龄在 21 到 49 岁之间。在所有受访者中,38% 的人年龄在 31 到 39 岁之间,30% 的人年龄在 21 到 29 岁之间。

专业编码经验

大多数受访者具有超过 11 年的专业编码经验。24% 的调查参与者拥有 3 到 5 年的专业编码经验,19% 拥有 6 到 10 年的专业开发经验。25% 的受访者专业开发经验不足两年。

工作角色

79% 的受访者表示他们的工作职责包括开发/编程或软件工程。16% 的受访者是团队主管。10% 的受访者表示他们的工作包括数据分析、数据工程或数据科学。

数据集仅包含来自官方 Django Software Foundation 渠道的回复。这些回复收集自官方 Django 渠道上的调查推广,例如 djangoproject.comDSF 的 X(以前称为 Twitter)账号,没有任何 JetBrains 渠道的参与。为了防止调查偏向于任何特定的工具或技术,未使用任何与产品、服务或供应商相关的渠道收集回复。

想了解详情?探索 2023 Django 开发者调查以查看完整调查数据。


本博文英文原作者:Valeria Letusheva

关于 PyCharm

PyCharm 是一款可以帮助专业 Python 开发者提升效率、信心和代码质量的集成开发环境 (IDE)。它原生支持几个 Python 工作流程,包括 Web 开发、前端开发、数据库管理和数据科学。

进一步了解 PyCharm

更多阅读推荐

新发布

JetBrains Toolbox App 2.4 新特性一览

JetBrains 全系列 IDE 2024.1 更新概览

CLion Nova:使用 ReSharper C++/Rider C++ 语言引擎的 CLion

RustRover: JetBrains 出品的独立 Rust IDE 已公开发布

JetBrains Aqua: 测试自动化 IDE 已公开发布


调研报告

2023 开发人员生态系统现状

Python 开发者年度调查

代码审查工具报告


IDE 使用技巧

新 UI 宝藏功能集锦

IntelliJ IDEA 的 HTTP 客户端全揭秘

10个热门 IDE 主题推荐

IDE 中的“快速功能”

最被低估的快捷键

⏬ 戳「阅读原文」查看 Django 开发者调查完整结果!

本文分享自微信公众号 - JetBrains(JetBrainsChina)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

微软开源基于 Rust 的 OpenHCL 字节跳动商业化团队模型训练被“投毒”,内部人士称未影响豆包大模型 华为正式发布原生鸿蒙系统 OpenJDK 新提案:将 JDK 大小减少约 25% Node.js 23 正式发布,不再支持 32 位 Windows 系统 Linux 大规模移除疑似俄开发者,开源药丸? QUIC 在高速网络下不够快 RustDesk 远程桌面 Web 客户端 V2 预览 前端开发框架 Svelte 5 发布,历史上最重要的版本 开源日报 | 北大实习生攻击字节AI训练集群;Bitwarden进一步脱离开源;新一代MoE架构;给手机装Linux;英伟达真正的护城河是什么?
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5494143/blog/14204695