浅析Ruby的备选Web开发框架Cuba

开始之前,我们先说说Rails这头大象。Rails非常棒。它大部分时间绝对是你构建大型产品应用所需的。它有段历史了。如果你刚开始使用Ruby做Web开发,很有可能Rails是你最熟悉的。这些都表明Rails作为多数项目的选择是合理的。

这篇文章的观点不是…抛弃(抱歉,忍不住!)我们所热爱的Rails。主要目标是提供你可能意识或没有意识到的备选框架。有些人专注小规模项目,其他人快速原型,但所有人,都可以使用Ruby。希望你可以在探索把Ruby这个出色语言应用到web领域的框架和微框架的过程中能够找到乐趣。

Cuba微框架

Cuba是目前Ruby开发者接触微框架的最简单途径之一。Cuby由Michel Martens编写,关键点在于简洁。这个微框架的设计目标是构建和部署简单应用,去除了膨胀而非必须的功能,从而避免了大规模开销之忧。

类似其他很多微框架,Cuba基于Rack。Rack最小化了支撑Ruby的web服务器和框架本身之间的交互。这有助于提升应用的响应时间,使得使用Cuba这类框架变得非常简单。

文档是Cuba最棒的部分之一。在线的演练引导让每个人都可以学习利用Cuba的功能。学习了引导不久,你就可以自己搭建一个类似Twitter的应用Frogger。在这之后,你应该已经熟悉Cuba了,应该可以在你自己的项目中使用了。

除了这个演练引导,还有个小应用可以测试在服务器上配置Cuba。

Trailblazer

Trailblazer是Ruby朋克摇滚歌手Nick Sutterer最新奉献的礼物,虽然技术上讲不是个框架。它背后的思想是通过增强封装、采用更直观的代码结构来帮助Rails框架更高效。它提供多层抽象使得Rails更简单。

由于Trailblazer并不是真正意义上的框架,我们就不过多讨论,但是我们说它让Rails更易用。它易于实现,这里有本未完工的书。

Volt

Volt是很多Ruby开发者脑海中的又一个新框架。Volt专注在构建快速应用,而不是瞎忙活,它让应用跑得更快。Volt使用持久连接而不是通过HTTP同步数据。Volt快速的部分原因就是它建立在Opal之上,Opal将Ruby方便地转换为JavaScript,是个很棒的模块。

目前Volt一点不方便之处是它只支持MongoDB。虽然MongoDB是个不错的数据库方案,但它不一定是你中意的。

Cramp

是不是在寻找异步类型的框架?可能Cramp就是你要找的。Cramp建立在Event Machine之上,设计目标是工作在有大量连接环境下,提供全双工双向通信。

Cramp需要也Rack支持,使用Ruby 1.9.2及以上版本,你只需要安装这个gem就可以开始了。如果你熟悉使用Ruby构建简单应用,Cramp采用的风格也不会让你感到陌生。它们的例子简单易用。

Cramp另一个出色的特性就是包含应用生成器。在控制台敲入cramp new realapp就可以生成一个新Cramp应用。

Ramaze

Ramaze建立在古老的KISS(Keep It Simple, Stupid)原则之上,这个框架看似只做:移除复杂度,让事情更简单。Ramaze与不同ORM、适配器(如UnicornPassenger)一起工作,以及Ruby的各种实现,如JRubyRubinius。如果MRI是你最爱的Ruby风格,也许Ramaze是你的框架选择。

Ramaze快速、灵活,比起这里提到的其他框架更有优势。另一个优势是它与其他框架的功能很相像。比如,如果你熟悉Sinatra,Ramaze也不会太难学。

Sinatra

我曾仔细对比过Sinatra vs. Rails,也许不止一次。Sinatra是我大多数小项目的选择。由于Sintra的用法在那篇文章中基本都被覆盖到了,我们可以关注更小的事情。这里有一篇Konstantin HasseAlmost Sinatra。(绝对不要在任何地方上使用Almost Sinatra。)Sintra设置很简单,Engine Yard上线了很多Sinatra应用。

Lotus

看了这么多,你可能还在寻找类似Rails的框架。Lotus就是,它由Luca Guidi编写,是一个完全的erb框架。Rails和Lotus的主要区别在于Lotus的轻量级,对于那些对Rails的庞大很失望的人会很有吸引力。

Lotus是个完整的MVC框架,做的就是MVC做的事,所以转换并不是很大。它的缺点是还不够成熟:它还不适于生产应用,但接近了。

结论

我们介绍了一些除Rails之外Ruby开发者可以选用的框架。再次说明,这不是要大家放弃Rails。但是我认为,开阔视野、尝试新东西是很好的。如果你准备在生产环境中好采用其中一个框架,我们的支持团队会很乐意提供帮助。

P.S. 你是否曾尝试过这些框架?我们是否遗漏了你最爱的框架?在下面给我们留言。

1 收藏 评论

关于作者:douxingxiang

简介还没来得及写 :) 个人主页 · 我的文章 · 13

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部