NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Wee:基于 Continuation 的 Ruby Web 框架

  • 2009-03-28
  • 本文字数:669 字

    阅读完需:约 2 分钟

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-03-28 21:373728
用户头像

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

关注

评论

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

界面原型设计

智趣匠

android GUI设计 mockplus droiddraw

CleanMyMac2024激活码使用教程

茶色酒

CleanMyMac CleanMyMac X

浅谈华为云大数据BI对企业数字化转型的助力

秃头也爱科技

有了华为云大数据BI,企业数字化转型该如何做?

爱尚科技

华为云CDN引领网站性能全面优化

爱科技的水月

缓解等待焦虑,华为云CDN为您提供畅快下载体验

爱科技的水月

让下载速度更快更稳,华为云CDN多重技术助力网络加速

爱科技的水月

智能且高效,华为云CDN三大特点助企业云上创新

爱科技的水月

【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI

JAVA旭阳

Java 架构

共创精彩游戏未来,华为云大数据解决方案助力游戏企业成功转型!

秃头也爱科技

“一粒米”的故事:哈工程昇智识米团队基于昇腾AI创新提出水稻适度加工智能化解决方案

Geek_2d6073

Mysql索引覆盖

京东科技开发者

MySQL 数据库 sql 搜索引擎 优化

据+AI赋能教育智能化转型,华为云技术优势明显!

爱尚科技

为有状态应用而生,云原生本地存储Carina正式进入CNCF沙箱

BoCloud博云

云原生 本地存储 Carina

cleanmymac2024永久版mac系统清理软件

茶色酒

CleanMyMac CleanMyMac X

人生的喜悦、不快与成长,都在那一篇篇的文字中得到记录 | 2022 年终总结

宇宙之一粟

年终总结 人生故事 代码之外 12月月更

【web 开发基础】如何删除数组中的重复元素(52)

迷彩

数组 数组操作 PHP基础 唯一性

【web 开发基础】PHP中获取数组的元素个数 (51)

迷彩

数组 数组操作 PHP基础 数组查询 统计数组

华为云大数据BI,如何助力智慧医院数字化升级

秃头也爱科技

华为云大数据BI平台,助力电商企业破除数据孤岛,轻松备战双十一

秃头也爱科技

openEuler委员会主席江大勇:跨越生态拐点 欧拉逐梦新征程

科技热闻

华为云大数据BI,助力电商企业打赢“年货节”攻坚战

秃头也爱科技

华为云大数据BI,企业数字化运营得力助手

爱尚科技

时序数据库 TDengine 签约新奥新智

TDengine

数据库 tdengine 时序数据库

FL Studio2024中文版本水果软件下载

茶色酒

FL Studio FL Studio 21

HarmonyOS多媒体框架介绍

HarmonyOS开发者

HarmonyOS

跳槽一次能涨多少?总算是见识到跳槽天花板了

程序知音

Java java面试 后端开发 八股文 Java面试题

着眼全局提升决策质量,华为云大数据BI让企业看见未来

爱尚科技

【web 开发基础】PHP查询数组中的指定元素 (50)

迷彩

数组 数组操作 二维数组 PHP基础 数组查询

直播回顾 | 根因分析助力AIOps走得更远!

博睿数据

可观测性 智能运维 博睿数据

聚焦电商场景数字化转型升级,华为云大数据解决方案高效赋能

爱尚科技

Wee:基于Continuation的Ruby Web框架_Ruby_Mirko Stocker_InfoQ精选文章