写点什么

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

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

关注

评论

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

C++关于函数参数的分析与函数重载进阶教程

CtrlX

c++ 编程语言 后端 cpp 8月月更

如何在技术上来保证LED显示屏质量?

Dylan

LED显示屏 led显示屏厂家

“纯C”实现——三子棋小游戏

一介凡夫

c 后端、 #开源 8月月更

react常见面试题

helloworld1024fd

React

C++引用分析实例与案例刨析及使用场景分析详解

CtrlX

c c++ 后端 程序员进阶 8月月更

流动性质押挖矿系统开发如何制作?单双币系统开发成熟技术

开发微hkkf5566

阿里云数据存储生态计划发布,助力伙伴数据创新

云桌派

阿里云

爆款视频怎么做?这里或许有答案!

博文视点Broadview

Maven中的scope

Aion

maven 开源 技术 8月月更 scope

小程序插件的生态丰富,加速开发建设效率

Speedoooo

小程序 小程序容器 小程序插件

基于threejs的商品VR展示平台的设计与实现思路

Five

js vr three.js 签约计划第三季 8月月更

受邀出席Rust开发者大会|Rust如何助力量化高频交易?

非凸科技

量化策略 量化交易

Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架

小周先生

开源 Vite2 vue3.0 #开源 8月月更

10份重磅报告 — 展望中国数字经济未来

阿里技术

研究报告

OSI 七层模型和TCP/IP模型及对应协议(详解)

Five

TCP/IP TCP协议 8月月更

React高频面试题合集(二)

helloworld1024fd

React

如何通过DBeaver 连接 TDengine?

TDengine

数据库 tdengine Dbeaver

阿里前端智能化技术探索和未来思考

阿里技术

前端 智能化

8大软件供应链攻击事件概述

SEAL安全

开源 DevOps DevSecOps 软件供应链安全 软件供应链攻击

半夜赶工制作简报的我好想说 : 确定了,最终稿就是这样

叶小鍵

开源一夏 |Spring boot 自动配置原理

叶秋学长

开源 8月月更

【LeetCode】设计数字容器系统Java题解

Albert

LeetCode 8月月更

一体化在线政务服务平台,小程序容器技术加速建设步伐

Speedoooo

小程序 小程序容器 政务平台

外包学生管理系统架构文档

react高频面试题总结(一)

helloworld1024fd

React

七日算法先导(二)——双指针

工程师日月

8月月更

博云入选Gartner中国DevOps代表厂商

BoCloud博云

云计算 容器 DevOps 云原生 云平台

松哥手把手教你在 Vue3 中自定义插件

江南一点雨

Java Vue

FinClip | 来了, 2022 年 7 月更新大盘点

FinClip

【云原生】jenkins部署docker镜像到远程服务器

青芒果

云原生 CODING Linxu docekr 8月月更

基于深度学习的裂缝检测技术

阿炜小菜鸡

8月月更 裂缝监测

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