几种实用型Ruby Web开发框架介绍

大家在通过对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
Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第三部分;第一部分下载地址:http://download.csdn.net/source/2807491;第二部分下载地址:http://download.csdn.net/source/2807539。 三个资源在一起解压缩后(windows 平台下解压缩)即可得到《Ruby.on.Rails.Web开发之旅》一书。 内容简介 本书从Ruby和Rails的历史讲起,以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rails的安装过程、框架组成部分、与AJAX和Web 2.0技术结合、安全措施、高级话题和扩展功能等。本书带领读者运用最新的Web 2.0技术和简洁的Rubv编程语言,建立数据库驱动的交互的易建、易用、易维护的网站应用。 本书注重实用性,适合初学者迅速掌握Ruby开发工具的使用方法,为希望深入了解Rails框架并建立健壮网络应用的开发人员提供强大的技术支持。 目录 第1章 Ruby on Rails简介 1.1 历史 1.2 开发原则 1.2.1 惯例优先 1.2.2 不重复自我 1.2.3 灵活的开发 1.3 构建wleb应用程序示例 1.3.1 digg简介 1.3.2 应用程序示例的特性 1.4 小结 第2章 技术准备  2.1 所需软件的成本  2.2 在Windows系统上安装Ruby on Rails  2.3 在Mac OS X系统上安装Ruby on Rails   2.3.1 Mac OS X 10.5(Leopard)   2.3.2 Mac OS X 10.4(Tiger)和更早的版本  2.4 在Linux系统上安装Ruby on Rails   2.4.1 使用包管理器   2.4.2 先决条件   2.4.3 在Linux上安装Ruby .  2.4.4 在Linux上安装RubyGems   2.4.5 在Linux上安装Rails   2.4.6 在Linux上安装MySQL  2.5 建立基础   2.5.1 管理所有内容的单目录结构   2.5.2 创建标准目录结构  2.6 开始编写应用程序  2.7 选择文本编辑器   2.7.1 Windows文本编辑器   2.7.2 Mas OS X文本编辑器   2.7.3 Linuxt和交叉平台编辑器  2.8 小结 第3章 Ruby简介  3.1 Ruby是脚本语言   3.1.1 编译语言   3.1.2 脚本语言   3.1.3 较大的性能争议  3.2 Ruby是面向对象的语言  3.3 读写Ruby代码   3.3.1 交互式的Ruby界面(irb)   3.3.2 与Ruby对象交互   3.3.3 Ruby中的标点  3.4 在Ruby中使用面向对象编程   3.4.1 类和对象   3.4.2 对象层功能   3.4.3 类层功能   3.4.4 继承   3.4.5 返回值  3.5 标准输出  3.6 Ruby核心类   3.6.1 数组   3.6.2 散列表   3.6.3 字符串   3.6.4 数字   3.6.5 符号   3.6.6 空值  3.7 运行Ruby文件  3.8 控制结构   3.8.1 条件   3.8.2 循环   3.8.3 块  3.9 小结 第4章 Rails揭秘  4.1 3种环境  4.2 数据库配置   4.2.1 数据库配置文件   4.2.2 创建数据库  4.3 MVC体系结构   4.3.1 MVC理论   4.3.2 MVC的Rails方式   4.3.3 ActiveRecord(模型)   4.3.4 ActionPck模块  4.4 代码生成  4.5 ActionMailer  4.6 测试和调试   4.6.1 测试   4.6.2 调试  4.7 MySQL的图形用户接口工具  4.8 小结 第5章 模型、视图和控制器  5.1 创建模型   5.1.1 模型生成器   5.1.2 使用移植修改模式   5.1.3 使用Rails控制台管理数据   5.1.4 隐藏的SQL语句  5.2 生成控制器   5.2.1 运行generate脚本   5.2.2 输出结果分析   5.2.3 返回应用程序  5.3 创建视图   5.3.1 用支架生成视图   5.3.2 创建静态页面   5.3.3 创建动态页面   5.3.4 反复传递数据   5.3.5 引入模型  5.4 小结 第6章 助手、窗体和布局  6.1 可信任助手  6.2 故事提交   6.2.1 创建窗体   6.2.2 保存数据到数据库中   6.2.3 创建布局   6.2.4 用户反馈和闪存  6.3 测试窗体   6.3.1 测试模型   6.3.2 测试控制器   6.3.3 再次访问日志  6.4 小结 第7章 AJAX与Web 2.0  7.1 生成投票模型   7.1.1 创建模型   7.1.2 创建移植   7.1.3 执行移植  7.2 关系   7.2.1 has-many子句   7.2.2 belongs-to子句   …… 第8章 安全措施 第9章 高级话题 第10章 Rails插件 第11章 调试、测试和基准测试 第12章 部署和产品使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值