写点什么

在 Ruby on Rails 中实现 Seaside?

  • 2007-04-12
  • 本文字数:715 字

    阅读完需:约 2 分钟

Ruby on Rails 为什么成为最炙手可热的 Web 框架?到底是因为它引入了许多全新的革命性理念?或者仅仅是因为它为早已众所周知的设计实践带来更为优秀的实现?这正是 Giles Bowkett 所问的第一个问题。他通过比较了 Rails 的视图 / 控制器模式和 Seaside 的组件及渲染方法,向大家阐述了自己的想法。将 Rails 的视图 / 控制器替换成与 Seaside 更为相似的方式,是否值得呢?

Giles 着重指出这种架构的优点(如集中管理)和缺点(如毫无意义的 URL):

难道你不能模拟 Seaside 的组件化模式么?你可以把 Rails 的控制器和视图替换成包含带内建渲染方法(built-in render methods)对象的 Builder 模板,而那些内建的渲染方法可以调用其它 Builder 模板。这当然行得通,事实上,你基本能实现除了 Continuations 之外的所有东西。但问题是,如果你没有 Seaside 的 Session 管理,这样做是否值得?而且在除了 Smalltalk 之外的语言中 Session 管理会不会变成一场噩梦?这里的观点是,Rails 的模板系统是一个又大又臃肿又臭气熏人的大洋葱。最后,事实上我们为 Seaside 风格的开发提出了一个可能比 Rails 更好的设计方案,而且保留所有 Ruby 强于 Squeak 的优点——更简便的 DB/Unix 集成,更多开发人员,等等。

文章收到不少评论,其中 Assaf Arkin 友善地指出如何使用 Rails 中的 capture() 方法来实现无模板的解决方案。而 Bram 法则(Bram’s Law)表示担心:如果一个软件越容易编写,那么实际上它会被实现得越糟糕。

……这正是我一直以来担心在 Rails 上发生的:在五年或者十年以后,你能找到的最差的工作将会是 Rails 的工作——你在维护一些非程序员写的代码,这些人发现 Rails 使得编程变得如此之简单,以至于他们根本不用知道他们在做些什么。

2007-04-12 20:301147
用户头像

发布了 117 篇内容, 共 20.8 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

不卷又想稳稳扛住,TiDB 平凯数据库试用体验|DTC电商公司场景,两周双 11 彩排压测

TiDB 社区干货传送门

平凯数据库敏捷模式

什么是境外社交媒体监测,社交媒体监测工具的具体用途有哪些?

沃观Wovision

社交媒体 舆情监测 海外舆情监控 沃观Wovision

新闻速递丨Altair 与 Gordon Murray Group 携手开发创新超级轻量化平台

Altair RapidMiner

汽车 仿真 CAE hyperworks 汽车轻量化

破解能源管理 “高门槛” 困境:MyEMS 的开源生态实践​

开源能源管理系统

开源 开源能源管理系统

Volcano v1.13 重磅发布!大模型训练与推理等调度能力全面增强

华为云开发者联盟

容器 华为云 Volcano 华为云开发者联盟

TiDB 平凯数据库敏捷模式试用体验:方便扩展,更节省存储空间|水务行业可参考

TiDB 社区干货传送门

平凯数据库敏捷模式

从架构视角出发:构建你的 TiDB 实战能力体系

TiDB 社区干货传送门

OLAP OLTP HTAP 8.x 实践 MySQL 迁移

国产化替代-TiDB平凯数据库敏捷模式试用|智慧教育应用场景

TiDB 社区干货传送门

教育 国产化替代 平凯数据库敏捷模式

平凯数据库敏捷模式初体验:单机替换的新选择

TiDB 社区干货传送门

平凯数据库敏捷模式

汽车行业分享丨SimSolid在钢结构设计中的应用及体会(下)

Altair RapidMiner

汽车 仿真 CAE hyperworks SimSolid

如何选择靠谱的企业出海服务商?这5点必看

Wolink

出海服务商 出海企业 社媒营销 海外营销推广 达人营销

从 TiDB v5.4 到 v6.5 的平滑过渡指南

TiDB 社区干货传送门

平凯数据库敏捷模式使用体验: 相较于MySQL性能提升在 30%以上,延迟降低约 30%

TiDB 社区干货传送门

平凯数据库敏捷模式

平凯数据库敏捷模式功能体验: 分布式数据库兼顾OLTP&OLAP

TiDB 社区干货传送门

平凯数据库敏捷模式

大模型 | VLM 初识及在自动驾驶场景中的应用

地平线开发者

自动驾驶 算法工具链 地平线征程6

从能耗盲区到全景可视:MyEMS 如何重塑企业能源管理逻辑

开源能源管理系统

开源 开源能源管理系统

企业海外营销策略与渠道选择全解析

Wolink

企业出海 出海服务商 社媒营销 海外营销推广 沃链Wolink

100%关税与软件封锁下,信创为何是破局关键?

FinClip

#信创

TiDB 企业版敏捷模式试用:政企实战场景体验

TiDB 社区干货传送门

社区活动 TEM 试用 平凯数据库敏捷模式

东芝硬盘率先完成 12 盘片堆叠技术验证

新消费日报

车牌号智能填充快人一步,告别繁琐输入

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

开发友好!30分钟搭建TiDB集群-平凯数据库敏捷模式实践

TiDB 社区干货传送门

金融 平凯数据库敏捷模式 证券 / 基金

敏捷模式数据库及TEM试用及未来展望

TiDB 社区干货传送门

平凯数据库敏捷模式

AI 语音识别技术在各行业应用

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI语音

智慧楼宇能源革命:MyEMS 如何助力商业综合体降本 30%

开源能源管理系统

开源 开源能源管理系统

聚焦深圳,预见智能未来:2026深圳人工智能终端展 全球邀请

AIOTE智博会

人工智能展览会 人工智能展会 人工智能博览会 人工智能展

消息推送策略:如何在营销与用户体验间找到最佳平衡点

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

平凯数据库敏捷模式 3 节点尝鲜:降本明显,弹性与性能适配多行业需求

TiDB 社区干货传送门

平凯数据库敏捷模式

越用越上头!明基RD320U让我在开发过程中效率起飞

不叫猫先生

办公效率 显示器

京东快递/快运2025物流开放平台与快递鸟对接指南

快递鸟

建材服务商城:数字化建材服务新生态,驱动行业高效协同与用户体验升级

深圳亥时科技

在Ruby on Rails中实现Seaside?_Ruby_Alexis Midon_InfoQ精选文章