关于 Django 的核心的思考

主要观点:

  • Django 将迎来 20 岁生日,其以“有截止日期的完美主义者的 Web 框架”闻名,关键在于请求 - 响应循环、ORM 和第三方包生态系统。
  • Django 曾面临核心团队成员流失、项目停滞等问题,如 2018 年 DjangoCon US 时社区就有 Django 会关闭的担忧,COVID 也给社区连续性带来巨大冲击。
  • Django 的成功秘诀在于基于时间的发布计划、API 稳定性政策和 Django 研究员计划,这三者共同作用使 Django 持续发展,研究员承担了重要工作。
  • 如今社区充满活力,有推动 Django 前进的新动力,但仍需思考 Django 为何能在多年间存活并发展。
  • 对于将新功能添加到 Django 核心的讨论,应遵循 Django 的“风格”,即新功能先在第三方包中试验,因为将功能添加到核心会增加维护负担,且与 Django 的“风格”相悖。
  • Django 的容量有限,目前有大量待处理的问题和 pull 请求,仅靠现有两名研究员(一名兼职)难以应对,应避免随意将功能添加到核心以保持 Django 范围稳定。
  • Django 的核心不是添加新功能的最佳选择,实验性 API 应遵循特定流程,例如 Django Tasks 这一重要功能先以第三方包形式存在,待成熟后再纳入核心。
  • Django 应重视第三方包生态系统,避免将其视为二等公民,同时要让初学者能够容易地发现和使用第三方包,以真正实现“包含电池”的理念。

关键信息:

  • Django 2024 年将 20 岁,其核心组件包括请求 - 响应循环等。
  • 曾面临核心团队成员流失等问题,COVID 冲击社区连续性。
  • 成功秘诀的三个方面及其作用。
  • 关于将新功能添加到核心的讨论及相关考虑。
  • Django 容量有限及维护负担等问题。
  • 实验性 API 的相关规定及 Django Tasks 的例子。
  • 重视第三方包生态系统及相关问题。

重要细节:

  • 2015 年开始采用基于时间的发布计划,带来增量式发布。
  • API 稳定性政策防止引入破坏性变化,更新 Django 更轻松。
  • 目前 Django 有 954 个开放的已接受票和 260 个开放的 pull 请求。
  • 有允许在核心中添加“实验性 API”的 draft DEP。
  • Django Tasks 大部分工作在定义任务接口,复杂 DB 后端先以第三方包形式存在。
  • 长期以来 Django 政策是不链接到第三方包,有多种原因。
  • 关于“官方”包的讨论及相关问题。
阅读 12
0 条评论