写点什么

Wee:基于 Continuation 的 Ruby Web 框架

2009 年 3 月 28 日

Wee(Web Engineering Easy 的简称)是一个类似 Seaside 的 Web 框架,它使用 Continuation,这使得开发者可以“轻松漂亮地完成任务”,Wee 的作者 Michael Neumann 如此形容到。Wee 也提供可复用组件,这种组件“和GUI 中的Widgets 类似,开发一次,就可以随处使用”,它的目标是让HTML 的GUI 应用可以组建化,而不是让其REST 化。即将发布的2.0 版本也将完全基于Rack。

Neumann 在一篇关于 Wee 的博文中示例说明了使用 Continuation 的代码在可读性上有多么明显的优势。使用 Continuation,简单的序列流就可以写成这样:

复制代码
callcc page1
callcc page2
callcc page3

还有另一种连续传递风格(Continuation Passing Style)的写法:

复制代码
call page1 do
call page2 do
call page3
end
end

如果 Continuation 这么有用,那为什么不是所有框架都采用 Continuation 呢?没有出现更多基于 Continuation 的 Ruby Web 框架,其中一个原因就在于:Ruby 1.8 存在内存泄露。虽然 Brent Roman 的 MBARI 补丁已经修复了这个问题,但是还没有引入到官方的 Ruby 1.8 中(一旦 Engine Yard 开始接管 Ruby 的维护工作,应该就会引入这个补丁)。Ruby 1.9.1b 不再存在内存泄露的问题,Wee 也得益于这一点

Ruby 1.9.1 中 10000 个请求(1 个线程中)需要花费 16 秒,内存占用为 12MB,而同样的请求在 Ruby 1.8.7 中会占用多达 329MB 的内存,时间上也长达 56 秒。

看来 Wee 是人们选择升级到 Ruby 1.9 的一个有力理由,而由于 Merb 也将合并到 Rails 3.0 之中,所以 Wee 很可能成为取代 Rails 的最佳选择。

查看英文原文: Wee: Continuation Based Ruby Web Framework

2009 年 3 月 28 日 21:373308
用户头像

发布了 80 篇内容, 共 15.5 次阅读, 收获喜欢 3 次。

关注

评论

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

写作的几点建议:面对卡文,写别人的题目,栩栩如生的写作

七镜花园-董一凡

写作

第一周作业

东哥

极客大学架构师训练营

4天如何完爆Kafka源码核心流程!

奈学教育

kafka

架构师训练营第01周——总结

李伟

极客大学架构师训练营

食堂就餐卡系统架构设计文档

小叶

架构设计

架构师训练营-作业-1】食堂就餐卡系统设计

superman

学习 极客大学架构师训练营

食堂就餐卡系统设计

魔曦

极客大学架构师训练营

架构师训练营第一周学习总结

whiter

极客大学架构师训练营

第一周命题作业

AspYc

食堂就餐卡系统设计(作业版)

Jerry Tse

极客大学架构师训练营 作业

【架构师训练营】第1周-作业-食堂就餐卡系统

芥末

极客大学架构师训练营

架构师培训-01食堂就餐卡系统设计文档

刘敏

【总结】第一周架构师如何做架构

chengjing

第一周学习总结

小海豚

学习

被迫重构代码,这次我干掉了 if-else

程序员内点事

架构师训练营-第一课作业-20200610-食堂就餐卡系统

👑👑merlan

架构 作业

01-kubernetes安装部署(手动)

绿星雪碧

Kubernetes etcd flannel

食堂就餐卡系统设计

小海豚

学习 食堂就餐卡系统设计

你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了

小林coding

TCP 计算机网络 网络协议

第一周学习总结

AspYc

一味的坚持,或许只是徒劳

这小胖猫

逻辑思维 职业成长 工作体会

免费P7架构师直播课!技术人员如何提升职场技能?

古月木易

架构师

While语句

拾贝

免费P7架构师直播课!技术人员如何提升职场技能?

奈学教育

架构师

4天如何完爆Kafka源码核心流程!

古月木易

kafka

架构师是什么?

芥末

极客大学架构师训练营

UML 体验(就餐卡系统设计)

陈皮

作业1

annie

极客大学架构师训练营

如何成为一个架构师?

逍遥乐天

极客大学架构师训练营

架构师训练营第一周命题作业

whiter

极客大学架构师训练营

食堂就餐卡系统设计

互金从业者X

Wee:基于Continuation的Ruby Web框架-InfoQ