写点什么

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

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

关注

评论

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

"云原生:构建未来应用的革命性方法"

啊川..

2023

探索前端开发趋势:2023年的新兴技术与发展方向

不在线第一只蜗牛

前端 Web 前端开发

1.4亿人都在用|伊对APP x 阿里云PolarDB:这一对,天生配

阿里云瑶池数据库

数据库 阿里云 云原生 Servless

低代码选型注意事项

高端章鱼哥

低代码 选型

有什么好用的C/C++源代码混淆工具?

Geek_66e2f3

阿里巴巴中国站1688商品评论API:实时数据获取与应用的探索

Noah

公有云与私有云的区别在哪?选择公有云是否真的会泄露隐私?

Finovy Cloud

公有云 私有云 私有云平台

EMQ 与 Confluent 建立全球合作伙伴关系:推动 MQTT 与 Kafka 无缝集成

新消费日报

通过Environment获取属性文件的值,竟然会调用到JNDI服务!!!| 京东云技术团队

京东科技开发者

LangChain初学者指南

俞凡

人工智能 ChatGPT LLM

低代码:拒绝重复、低价值的工单循环开发

互联网工科生

软件开发 造轮子 JNPF

onlyfan怎么绑卡??

跨境

VISA only

国内如何充值 openai API key 详细教程

跨境

openai ChatGPT ChatGPT4

软件测试/测试开发丨接口测试 学习笔记

测试人

软件测试

IPQ5018+QCN9024 card-what High-performance processor with dual and quad Ethernet?

wifi6-yiyi

ipq5018 QCN9024

软件测试/测试开发丨cookie 复用 学习笔记

测试人

软件测试

Keepalived 高可用详解

快乐非自愿限量之名

nginx Linux 源码分析

运用ETL快速拉取吉客云平台订单信息

RestCloud

数据同步 ETL 吉客云

苹果证书p12和描述文件的创建方法

阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台

阿里巴巴云原生

阿里云 Serverless 云原生

零基预算:从零开始的财务计划与预算管理

智达方通

全面预算 财务计划 预算管理 零基预算

【代码混淆】react-native 代码混淆

雪奈椰子

初见 Amazon Q

亚马逊云科技 (Amazon Web Services)

re:Invent 亚马逊云科技 生成式人工智能 Amazon Q

申请虚拟VISA卡Fomepay保姆级教程来了!

跨境

VISA

Poe会员开通保姆级教程

跨境

PoE ChatGPT

快速实践: 通过 Flink CDC 一键整库同步 MongoDB 到 Paimon

Apache Flink

大数据 flink 实时计算

Vue与低代码开发:简化前端开发的强力组合

EquatorCoco

Vue 前端 软件开发 低代码

跨境电商测评攻略及其工具海外云手机的介绍

Ogcloud

电商 跨境电商

springboot智慧导诊系统源码:根据患者症状匹配挂号科室

源码星辰

源码 Java、 智慧导诊 智能导诊 医院导诊

IPQ9574 vs IPQ9554 vs IPQ9514 How to choose a CPU for Industrial use?|WiFi7

wallyslilly

ipq9554 ipq9574

如何创建海外美区Apple ID,并绑定信用卡,十分钟学会

跨境

VISA appleID

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