文章摘要
作者在2026年重返使用Rails框架,为乐队开发了一个管理演出曲目和笔记的应用程序,解决了之前使用电子表格和聊天群组的不便。这个项目体现了作者对技术探索的热情,享受纯粹为了乐趣而构建事物的过程。
文章总结
重返Rails:2026年的老派Web开发之乐
作者背景
作为一名热爱业余项目的技术极客,作者在解决乐队排练曲目管理问题时,决定抛弃电子表格等临时方案,转而开发专属应用setlist.rocks。这个决定让他重新发现了传统Rails开发的乐趣。
Ruby语言的独特魅力
尽管2025年Stack Overflow调查显示,Ruby语言仅位列Lua和汇编语言之间,Rails框架也跌出流行度前20,但作者仍坚持使用这一技术栈:
- Ruby的链式方法调用和yield块让代码如英语般流畅
- 社区文化充满个性,如Why the Lucky Stiff的《Poignant指南》
- ActiveSupport库提供人性化语法(如3.days.from_now)
Rails 8的革新
1. 前端优化
- 采用Hotwire技术栈(Stimulus+Turbo)实现SPA体验
- 引入importmap工具链,无需Webpack即可管理JS依赖
- 示例:bin/importmap pin @stimulus-components/dialog快速集成对话框组件
后端增强
- Solid Cache/Queue组件用SQLite替代Redis,降低基础设施依赖
- 片段缓存示例:
<% cache ["band_dashboard", @band.cache_key] do %> - 后台任务配置简化:
schedule: every day at 3am
SQLite生产级支持
- 默认启用WAL日志模式和NORMAL同步策略
- 新增
pragmas:配置块优化性能参数 - 内存映射大小等关键参数已预设合理值
现代化部署方案
- Kamal部署工具实现容器化一键发布
- 支持多服务器角色定义(web/job等)
- 秘密管理通过.kamal/secrets文件解耦
- 部署流程演示:Asciinema录屏
技术生态现状
- Rails版本迭代保持稳定(年均发布)
- 但Gem生态活跃度下降(如Devise近年更新锐减)
- 仍被Shopify/GitHub等大型平台使用
结语
在追求简历镀金的时代,作者倡导回归开发本心——享受创造过程本身。Rails 8通过降低认知负荷、简化工具链,重新点燃了全栈开发的纯粹乐趣。
"有时候,做一件事仅仅因为它该死的令人愉快。" —— 本文核心观点
(全文保留关键技术细节,删减了部分个人经历描述和重复观点,压缩比例约60%)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
对Rails的批评与担忧
反感新定位:有用户强烈反对Rails官网将框架定位为AI代理工具,认为这背离了Rails简洁优雅的初衷。
- "If I read this the first time I would think this is some kind of tool to optimize your LLM agents."
- "Now it seems like DHH is throwing all what made Rails special overboard."
学习曲线问题:新用户可能难以理解现代Rails(7+版本),尤其是对JS/TS开发者不够友好。
- "If your first contact with rails is version 7+ and you’re only comfortable with JS/TS, then you’re not going to get it."
Rails的优势
开发体验与规范性:用户称赞Rails的MVC结构强制代码规范,且长期维护稳定。
- "Rails enforces good code patterns early on... it is an MVC framework."
- "Rails' deprecation-then-removal cycle is slower but way less disruptive."
生产力与稳定性:多人提到Rails适合长期项目,尤其对比现代JS框架的混乱和安全问题。
- "Rails is just a lot of fun, and that’s especially important for side projects."
- "Solid, proven, stable and scalable."
与其他技术的对比
替代框架选择:部分用户推荐Elixir/Phoenix或Go,认为它们更轻量或未来导向。
- "I tried to look forward, and what I found was Elixir and the Phoenix framework."
- "With Go, it’s so easy just to copy the binary over."
维护成本争议:有用户指出Rails/Django的旧项目升级依赖管理复杂,而Go更简单。
- "Updating a project that was started 5-6 years ago takes a lot of time... managing dependencies."
社区与文化
- 传统技术价值:部分开发者呼吁回归"无聊但可靠"的技术(如Rails/PHP),反对过度架构。
- "I’m just tired hearing how great ideas will save our overblown pseudo-microservice architecture."
- "They both are just problem solvers... write minimal code and proceed to next task."
关键数据支持:Stack Overflow调查显示Rails重回"最想使用的技术栈前五"(评论9),且Ruby的JIT改进提升了吸引力(评论8)。