幾種實用型Ruby Web開發框架介紹

  你們在經過對Ruby的學習後,都知道,Ruby on Rails是一款性能很是優越的Ruby Web開發框架。可是其餘的Ruby Web開發框架又有多少人知道一二呢?php

  迅速掌握Ruby文件鎖概念html

  Ruby操做文件權限技巧分享web

  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的開發一直以穩定的步伐向前推動。post

  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

相關文章
相關標籤/搜索