当AI编程普及,我为何仍坚持选择Django?

摘要:前言 去年9月,我写了一篇文章:Django过时了吗?从ASGI到AI时代的思考 当时痛陈 Django 的几个痛点:SSEWebSocket 支持繁琐、框架太重不够轻量化……甚至立了 flag:新项目不会优先考虑 Django。 然而,
前言 去年9月,我写了一篇文章:Django过时了吗?从ASGI到AI时代的思考 当时痛陈 Django 的几个痛点:SSE/WebSocket 支持繁琐、框架太重不够轻量化……甚至立了 flag:新项目不会优先考虑 Django。 然而,谁能想到回旋镖来得这么快。 仅仅几个月后,经历在其他技术栈的摸爬滚打,我又把目光重新投向了 Django……🤣 碎碎念 那些年,我们写过的代码 说起来真是怀念啊。 我第一次接触 Web 开发得追溯到 2016 年。 那时用 PHP 做学生团队的考核题,代码还是那种直接在网页里拼接 SQL 的原始人写法。😂 第一次正经的 Web 开发体验,就是 Django 给的。 我已经记不太清楚是在什么情况下接触到 Django 框架了,只记得这个框架上手极快。 本来我只会一点点 Python,随着学习 Django,Python 水平也水涨船高。 从 2.0 版本入坑,一转眼现在 6.0 版本都发布了。 从大学到工作,我用 Django 开发了非常多的网站和后端项目,和admin、form这些斗智斗勇,操心过ORM的性能问题,也啃了不少框架源码… 总之要说我最熟练的框架,那 Django 肯定是能排上名的。 话说我毕设的后端也是用 Django 写的😄 很搞笑的是,我好长时间都把 Django 的名字念错了,正确叫法是“姜戈”,最前面的 D 不发音,而直到现在还有很多人念“D姜戈”。 PS:从 2016 年手写 SQL 的 PHP 时代,到后来接触 Django 2.0,我见证了这个框架的稳健。Django 的设计哲学是 "Batteries Included"(自带电池),这在当时不仅帮我赚到了第一桶金,也让我在后续的工作中,无论是面对复杂的需求还是独立产品,都有底气。 尽管很多人吐槽它重,甚至连名字都念不对(Remember, the 'D' is silent),但它始终是我用得最趁手的技术。 OK,这是一些碎碎念,接下来说回正题。 一些尝试 技术围城 为了寻找更现代的开发体验,这段时间我尝试了不少热门技术栈: Next.js 全栈(搭配 drizzle, tRPC, better-auth) Node.js 后端(Hono 框架) AspNetCore(EFCore, FluentStorage) 我分别用这些技术开发了几个项目: 社科测试平台(Next.js全栈 + 第三方 ws 服务实现聊天) AI通话(Next.js 前端 + hono 后端) 一个多 agent 的 SaaS AI 产品(AspNetCore+邪修前端) 但其实都不是很顺手,各有各的问题,Next.js 全栈看起来很美好,但JS/TS 生态的繁荣也是它的诅咒,抛开生态非常散装不谈,最大的问题还是ORM太难用了,Prisma 和 Drizzle 感觉都是邪修🤣,唯一比较符合我口味的 MikroORM 又比较小众,搭配 better-auth 用还要各种折腾。 Node.js 后端体验还不错,准确说是 Hono 给我的感觉不错,语法上来讲我是更喜欢 nest.js 的,相信后端同学都会喜欢这个 nest.js ,不过 hono 实在是又轻功能又多,上次那篇 为什么说 Edge/Serverless 是最适合独立开发者的开发方式? 的文章,评论区有网友说是 hono 的软文。不好意思,我以后还可能写文章继续吹 hono 😄 AspNetCore 应该是编码体验最舒服的,不过现在是 2025 年,而不是 2020 年,编码体验不如 AI 适配性重要了😂,现在企业级开发的话,这个框架还是没问题的,但小团队、快速迭代的模式,开发起来速度还是慢了点,不过更大可能是我太菜了,架构没设计好,DDD在小项目是不可能用了,只能用传统MVC,但逻辑一复杂又容易变成一坨,我开发的这个项目,光 Service 接口就写了 30 多个,实现类 50 多个,这么多代码文件都在 service 层,代码乱得一批,维护起来令人头大。 重新转向Django 我本身是一个乐于学习和折腾新技术的人,但现在要做的事情很多,时间是非常有限的,常常为项目进度不够快而焦虑。 在生态成熟度、开发效率和代码严谨性之间做一个平衡,特别是考虑到现在的产品几乎都是围绕 AI 构建的,Django 就是一个非常合适的选择。意味着可以直接无缝调用各种 Python 生态的库,没有任何跨语言调用的损耗。 再加上我在 Django 领域多年的积累,以及自己维护,不再纠结之后,焦虑也随之减轻了很多。
阅读全文