写点什么

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:374145
用户头像

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

关注

评论

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

NFTScan | 07.22~07.28 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

Amazon Bedrock 模型微调实践(一):微调基础篇

亚马逊云科技 (Amazon Web Services)

生成式AI

基于Drone实现CI/CD【0到1架构系列】

不在线第一只蜗牛

Java 架构 CI/CD

使用线程池你应该知道的知识点

不在线第一只蜗牛

Java 线程池

开个技术外挂|电池热失控致电车自燃爆炸?用仿真技术解决它!

Altair RapidMiner

电动汽车 电池 仿真 altair 新能源车

TapData 信创数据源 | 国产信创数据库 TiDB 数据迁移指南,加速国产化进程,推进自主创新建设

tapdata

从历史到未来,看技术发展趋势

凌晞

技术 科技 构架

TinyVue 组件库官网焕然一新!

OpenTiny社区

Vue 组件库 OpenTiny

利用 AI 增强 API 和微服务的云安全性

哦豁完蛋了

方法 AI Studio API 文档

京东工业平台API:关键词搜索京东工业平台商品列表数据接口

tbapi

京东API接口 京东工业平台API 京东工业平台商品列表接口 京东工业平台商品数据接口

fx框架上手-基础篇

FunTester

AutoMQ 开源可观测性方案:夜莺 Flashcat

AutoMQ

云计算 kafka 云原生 Apache Kafka AutoMQ

照明黑马智谋纪,让小白玩转AI照明

编程猫

日志框架简介-Slf4j+Logback入门实践

京东科技开发者

借助大语言模型快速升级你的 Java 应用程序

亚马逊云科技 (Amazon Web Services)

java

低代码应用版本管理能力探讨

鲸品堂

低代码 版本管理工具 版本管理 企业号2024年7月PK榜

蚌埠住了!我把斯坦福大牛的Web安全开发指南给分享出来了!

我再BUG界嘎嘎乱杀

网络安全 安全 WEB安全 网安

ShareSDK第三方平台使用指南——QQ

MobTech袤博科技

开发者 产品动态

医疗器械行业数智化创新实践:数据可视化与 AI+ 是实现高质量发展的关键

tapdata

源码补丁神器—patch-package

京东科技开发者

【YashanDB知识库】如何远程连接、使用YashanDB?

YashanDB

yashandb 崖山数据库 崖山DB

“新质互联网”解读:新在哪里,利在何处?

Alter

ChinaJoy 2024启动!西部数据展示丰富游戏存储解决方案让发烧友直面各式挑战

极客天地

2款软件一键替换PPT背景,告别繁琐,你也可以!

彭宏豪95

人工智能 高效工作 PPT AIGC AI生成PPT

让 AI 无处不在,英特尔揭秘 AI 与边缘技术结合的未来画卷

E科讯

探索 Milvus 数据存储系统:如何评估和优化 Milvus 存储性能

Zilliz

人工智能 AI Milvus Zilliz 向量数据库

记录一次RPC服务有损上线的分析过程

京东科技开发者

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