写点什么

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

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

关注

评论

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

AI 开发英语学习 App 的技术

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

软件外包公司 AI英语学习 AI技术应用

重塑零售科技:第七在线如何利用人工智能优化商品销售

第七在线

基于 AI 网关和 llmaz,提升 vLLM 推理服务可用性和部署易用性的实践

阿里巴巴云原生

阿里云 云原生 Higress

AI 技术在线上英语学习中的应用

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

软件外包公司 AI英语学习 AI技术应用

团队创收遇瓶颈,Alpha系统解锁律所管理高效模式

科技汇

淘宝API系列:淘宝商品详情接口详解

tbapi

淘宝商品详情接口 淘宝API 天猫商品详情接口

巅峰对决,超三十万奖金等你挑战!第十届信也科技杯全球AI算法大赛火热开赛!

袁袁袁袁满

AI

WebGL 开发数字图书馆的技术方案

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

软件外包公司 数字孪生开发 webgl开发

这家公司使用 MCP,已向企业交付 1000 名数字员工

阿里巴巴云原生

阿里云 云原生 Higress MCP

稳定币发行量创纪录地超过 Visa 交易量

TechubNews

开源鸿蒙持续壮大 三大运营商全面入局 多元成果亮相HDC2025

最新动态

企业 IM 即时通讯底座,支持局域网通讯

BeeWorks

即时通讯 私有化部署

MyEMS开源能源管理系统核心代码解读008

开源能源管理系统

开源 能源管理

什么是数据聚合(Data Aggregation)?

镜舟科技

数据库 列式存储 StarRocks 物化视图 数据聚合

Dify 开发者必看:如何破解 MCP 集成与 Prompt 迭代难题?

阿里巴巴云原生

阿里云 云原生 nacos

海洋服务业定义以及需要使用堡垒机场景分析

行云管家

网络安全 数据安全

CAD图层是干什么用的?怎么设置?

在路上

cad

MyEMS开源能源管理系统核心代码解读009

开源能源管理系统

开源 能源管理

产业的尽头是AI,云南交投智算中心让智慧交通跑出加速度

Alter

AI 智能体

如何快速打印CAD图纸?怎么设置?

在路上

cad cad看图 CAD看图王

全球第一!百度文库智能PPT月访问量超3400万,用户规模翻倍增长

极客天地

Spring状态机在项目中的妙用,太优雅了!

Geek_e3e86e

Java 编程

昆明卷烟厂引入时序数据库 TDengine,支撑百万点位高频数据实时处理

TDengine

tdengine 时序数据库 国产时序数据库 时序数据库tdengine

打破志愿填报信息差:华为浏览器推出小艺高考Agent一站式免费问答服务

最新动态

三类不同身份的“开发者”,在昇腾CANN的土壤上种下了繁荣之花

极客天地

文档解析工具API表格提取完全指南:从坐标迷雾到精准裁剪

合合技术团队

人工智能 算法 #大数据

烘焙工业4.0:自动化升级与制造执行MES系统的深度赋能

万界星空科技

mes 万界星空科技mes 食品MES 食品加工行业 烘焙行业

PDF Expert for Mac —— 专业 PDF 编辑阅读转换工具

柠檬与橘子

解开堡垒机的神秘面纱之堡垒机是什么软件?

行云管家

网络安全 数据安全 堡垒机

如何安装CST软件拓展资料包

思茂信息

cst CST软件 CST Studio Suite

私有化 IM 即时通讯,BeeWorks 支持国产化

BeeWorks

即时通讯 私有化部署

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