Django 2024 年路线图

2025-06-08

Django 2024 年路线图

我看到了 Sarah 的提问“大家对 Django 有什么期望”,其中附上了 Paolo 的帖子博客文章的链接,详细介绍了相关内容。很高兴@thibaudcolas也在这个论坛帖子里提到了这个问题

原来我有一些想法。😅 警告:这些想法大多是“空中楼阁”之类的,我故意忽略了要实现这些想法实际上需要做些什么。

这并不意味着贬低任何成就 Django 的优秀成果。我 ❤️ Django,我所有的项目都使用它,我只想让它尽善尽美,让它继续长期繁荣。

补充一点:我想知道年度 Django 调查能否用来收集潜在的路线图创意?比如:收集创意,核心开发者从中筛选出前 20 名,然后由社区投票。这不会具有约束力,但它能从多个不同的角度提供一些见解?

按照真正的路线图方式,我还将尝试将我正在考虑的高层事物的目标或指标纳入其中。

营销

正如我在回复Sarah 时提到的,我不确定这是否是“路线图项目”,但我认为 Django 更需要的是更好的市场营销,而不是新功能。所以,我会先专注于这方面。别担心,我还有一些自己喜欢的功能,希望在 Django 核心中实现。😉

指标

主页

我将忽略所有 JavaScript Web 框架,主要关注Ruby on Rails和,Laravel因为我认为它们最接近当前的用例Django。它们有一个共同的缺点:需要在学习 JavaScript 之后再了解一门额外的语言,大多是服务器端渲染的,并且以数据库为中心。

  • Django 的标题是“Django 使得用更少的代码更快更轻松地构建更好的 Web 应用程序。” 这本身并不错,但与更有力的 Rails H1“压缩现代 Web 应用程序的复杂性”相比就逊色多了。
  • RoR 和 Laravel 都突出展示了使用它们的公司——Django 没有提到在其上构建的大型公司
  • Rails 在主页上有一个 35 分钟(!)的视频,这似乎有点夸张,但人们确实喜欢看到某些东西是如何工作的,而不是一堆文字
  • 都讨论了框架中包含的功能:数据库建模、身份验证等;Django 拥有所有这些东西(甚至更多!)
  • 两者都谈论了贡献者和社区的数量;Laravel 甚至有用户推荐(类似于 SaaS 产品)
  • 两者都明确表示自己是一个“全栈”框架
  • 都提到了如何构建类似 SPA 的应用程序(分别是 Hotwire 和 Laravel)
  • 都展示了实际的代码,让人们感受到它是多么的“美丽”

总体而言,Rails 和 Laravel 的主页都给人一种现代、清新、令人兴奋的感觉。Django 应该从中汲取一些灵感,让这个框架看起来更清新、更吸引人。

文档

在我看来,Django 的文档是同类中最好的——它内容丰富,涵盖了我需要查找的所有内容。我认为对文档网站进行美观的更新会很有用,但我没有进行任何具体的调整,尽管 Paolo 在他的文章中提到了一些改进。

但是,当我在 Google 或 Kagi 上搜索时,djangoproject.com 并不总是出现在搜索结果的第一位。我想知道是否有一些 SEO 调整,可以让搜索结果始终指向 djangoproject.com?

福音传教士

Django 需要人们不断地谈论它,宣扬它有多棒,并大力推广它。Django 需要使用它的公司大声宣扬它如何帮助他们的业务。简而言之,Django 需要传播者。很多技术决策都是口口相传的。

现代化

一般来说,查看当前最常用的 Django 软件包,并将它们合并到核心中。再次强调,我完全忽略了为什么这是一个坏主意,以及它如何增加额外的维护负担、降低修复发布频率等等。但是,一般来说,如果你说一个框架“包含所有功能”,但 80% 的新安装都添加了相同的 5 个软件包,那么……也许它们应该默认包含在内?解决 80/20 的问题!

另一种方法是使用“受祝福的”框架配置,如Laravel Starter Kits,以减少进入核心的代码量。

指标

  • 减少不同 Django 用例所需的附加包的数量(即 Web 应用程序需要什么、后端 API 需要什么等)?

提供静态资产

只需包括whitenoise

资产管理

几乎每个网站都需要使用并捆绑 JavaScript 和 CSS,所以它应该包含在内。我用的是django-compressor,不过随便……随便选一个就行。

创建 API

Django 目前的一个重要用例是作为 API 后端,所以让我们让它变得更简单。捆绑 DRF 或许有点过头(或许也不算?),但 API 越接近顺畅越好。DRF 可能更接近当前的 Django,但我个人很喜欢django-ninja这里的做法,但这可能是因为我对 FastAPI/Pydantic 情有独钟。

后台任务

我倾向于使用django-q2,但我其实不太在意。我只想要一些有支持、简单易用的东西。

结论

我确信 Django 应该添加一些功能,但就目前而言,它已经解决了大多数 Web 应用程序的大量用例。然而,人们并不了解它的所有功能,或者他们觉得它“过时了”。如果 Django 能够更好地进行市场营销,并添加一些核心功能,它将会受到更多开发者的使用(并受到喜爱)。

鏂囩珷鏉ユ簮锛�https://dev.to/adamghill/django-roadmap-2024-2ocn
PREV
你对 React 了解多少?看看大家常犯的错误
NEXT
我们如何做决定