大家在通过对 Ruby 的学习后,都知道,Ruby on Rails是一款性能非常优越的Ruby Web开发框架。但是其他的Ruby Web开发框架又有多少人知道一二呢?
迅速掌握Ruby文件锁概念
Ruby操作文件权限技巧分享
Ruby will_paginate知识堂
详细解读Ruby输出文件信息实现方式
Ruby元编程构造简单优雅解决方案
Rails尽人皆知,有人甚至可能听说过Merb和Camping,但是否有人知道Nitro、Ramaze、Sinatra、IOWA或者Cerise?本文对这些框架进行一个快速浏览,并试图解读他们为业内人士欣赏(或忽视)的原因。
之前我们讨论过Merb,这也许是完成度最高的Rails替代者。Merb项目的活跃程度非常高,并且在一些情况下得到了实际使用。可以说它是与Rails最为接近的Ruby Web开发框架。
Camping将自己定义为一个代码量保持在4k字节大小以下的Web开发框架。这个项目已创建了22个月,并由whytheluckystiff维护。一个完整的web应用可以在单一文件中定义,同时遵循MVC框架(这使得web应用以后更易于移植到Rails之上)。Camping使用ActiveRecord作为ORM解决方案;模板系统使用Markaby。Camping的开发一直以稳定的步伐向前推进。
Nitro是一个有三年历史的“Web 2.0”框架。在一段时间销声匿迹之后,开发者George K.Moschovitis又开始活跃起来。Nitro应用的服务器端以Ruby写成,客户端以Javascript开发。Urubatan最近对其进行了评价。与Rails注重按照习惯编程相反,Nitro更加灵活。Nitro支持开发基于Model-View-Controller的应用,同时支持非MVC、 php 风格的应用开发。Nitro使用xhtml文件,并定制的Ruby标签作为模板系统。
Nitro还使用了它自己的持久层,名为Og(ObjectGraph)。Og允许arbitrary Ruby对象的序列化。在attr_accessor中标记为Object(或Array或Hash)之后,引擎会序列化对象的YAML转储堆。Og同时支持任意对象图。Og提供自动化数据库进化功能:当Ruby类变更后,Og会进行自动检测,同时改变对应的数据库。有些人总是会忘掉ActiveRecord的Migration功能。
Ramaze是一个存在了6个月的轻量级Ruby Web开发框架。它在构建时基于下列广为人知的Ruby Web开发框架原则:
◆KISS原则(Keep It Super Simple)
◆POLS原则(最小惊讶原则:Principle Of Least Surprise)
◆模块化设计
◆最小化依赖
◆文档
◆开放式开发
◆BDD开发/实例
Ramaze是MVC Web开发框架,使用自己名为Ezamar的模板系统。但是你同样可以使用Markaby、HAML、Liquid或ERB来替代Ezamar。Ramaze不提供默认的ORM(对象-关系映射),你可以使用你自己的选择:ActiveRecord、Og...它支持诸如Cache等高级使用,web应用可以通过Mongrel或Evented Mongrel来搭建。你可以在Ramaze wiki上发现更多细节。
Sinatra是一个刚开发了一个月的DSL web开发框架。Ron Evans对其进行了简要评价。它与Rails的主要差别在于它不是基于Model-View-Controller模式的框架。Sinatra是基于最小化的DSL语法开发的,它的小型基础核心中不包括诸如ActiveRecord这样的模块。通过使用get/post action定义,Sinatra具备动态路由定义功能。Ron指出,Sinatra不是为Robust web应用开发的,而是为了用来搭建小型的原型,其中的混合业务逻辑和展示层并不是问题。
那这样做有什么好处呢?API实现、快速的最小化应用以及那些不需要Rails中的功能(比如ActiveRecord)的web应用开发。可以用来对面板最小应用进行控制,或者是widget。
与其他框架相比,IOWA在近三年的时间里都不活跃。Cerise有一年的时间都没有活跃,因此我们不会深入探讨它们。
像Rails一样,Nitro有其自己的完整核心,其他Ruby Web开发框架试图越小越好,并允许用户自由使用他们喜欢的ORM、模板系统等等。即使这些框架可能缺乏文档,甚至有些框架不具备这么多的功能、流行程度、对Rails的使用等,它们仍然值得一看。 更多好文请访问:www.bdm361.com
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 区块链实用型技能树
- 码云周刊 | 实用型 Maven 插件,让事情变得简单
- 基于Google MVVM框架的baseMVVM框架
- Spring 框架是怎么出生的(二):重构提炼出框架
- Spring 框架是怎么出生的(二):重构提炼出框架
- Genesis框架从入门到精通(7): 框架的过滤器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Practical Algorithms for Programmers
Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99
Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!