知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
幾種實(shí)用型Ruby Web開發(fā)框架介紹
發(fā)表時(shí)間:2013-10-9
發(fā)布人:葵宇科技
瀏覽次數(shù):45
大家在通過對Ruby的學(xué)習(xí)后,都知道,Ruby>迅速掌握Ruby文件鎖概念
Rails盡人皆知,有人甚至可能聽說過Merb和Camping,但是否有人知道Nitro、Ramaze、Sinatra、IOWA或者Cerise?本文對這些框架進(jìn)行一個(gè)快速瀏覽,并試圖解讀他們?yōu)闃I(yè)內(nèi)人士欣賞(或忽視)的原因。
之前我們討論過Merb,這也許是完成度最高的Rails替代者。Merb項(xiàng)目的活躍程度非常高,并且在一些情況下得到了實(shí)際使用??梢哉f它是與Rails最為接近的Ruby Web開發(fā)框架。
Camping將自己定義為一個(gè)代碼量保持在4k字節(jié)大小以下的Web開發(fā)框架。這個(gè)項(xiàng)目已創(chuàng)建了22個(gè)月,并由whytheluckystiff維護(hù)。一個(gè)完整的web應(yīng)用可以在單一文件中定義,同時(shí)遵循MVC框架(這使得web應(yīng)用以后更易于移植到Rails之上)。Camping使用ActiveRecord作為ORM解決方案;模板系統(tǒng)使用Markaby。Camping的開發(fā)一直以穩(wěn)定的步伐向前推進(jìn)。
Nitro是一個(gè)有三年歷史的“Web 2.0”框架。在一段時(shí)間銷聲匿跡之后,開發(fā)者George K. Moschovitis又開始活躍起來。Nitro應(yīng)用的服務(wù)器端以Ruby寫成,客戶端以Javascript開發(fā)。Urubatan最近對其進(jìn)行了評價(jià)。與Rails注重按照習(xí)慣編程相反,Nitro更加靈活。Nitro支持開發(fā)基于Model-View-Controller的應(yīng)用,同時(shí)支持非MVC、php風(fēng)格的應(yīng)用開發(fā)。Nitro使用xhtml文件,并定制的Ruby標(biāo)簽作為模板系統(tǒng)。
Nitro還使用了它自己的持久層,名為Og(ObjectGraph)。Og允許arbitrary Ruby對象的序列化。在attr_accessor中標(biāo)記為Object(或Array或Hash)之后,引擎會序列化對象的YAML轉(zhuǎn)儲堆。Og同時(shí)支持任意對象圖。Og提供自動化數(shù)據(jù)庫進(jìn)化功能:當(dāng)Ruby類變更后,Og會進(jìn)行自動檢測,同時(shí)改變對應(yīng)的數(shù)據(jù)庫。有些人總是會忘掉ActiveRecord的Migration功能。
Ramaze是一個(gè)存在了6個(gè)月的輕量級Ruby Web開發(fā)框架。它在構(gòu)建時(shí)基于下列廣為人知的Ruby Web開發(fā)框架原則:
◆KISS原則(Keep It Super Simple)
◆POLS原則(最小驚訝原則:Principle Of Least Surprise)
◆模塊化設(shè)計(jì)
◆最小化依賴
◆文檔
◆開放式開發(fā)
◆BDD開發(fā)/實(shí)例
Ramaze是MVC Web開發(fā)框架,使用自己名為Ezamar的模板系統(tǒng)。但是你同樣可以使用Markaby、HAML、Liquid或ERB來替代Ezamar。Ramaze不提供默認(rèn)的ORM(對象-關(guān)系映射),你可以使用你自己的選擇:ActiveRecord、Og...它支持諸如Cache等高級使用,web應(yīng)用可以通過Mongrel或Evented Mongrel來搭建。你可以在Ramaze wiki上發(fā)現(xiàn)更多細(xì)節(jié)。
Sinatra是一個(gè)剛開發(fā)了一個(gè)月的DSL web開發(fā)框架。Ron Evans對其進(jìn)行了簡要評價(jià)。它與Rails的主要差別在于它不是基于Model-View-Controller模式的框架。Sinatra是基于最小化的DSL語法開發(fā)的,它的小型基礎(chǔ)核心中不包括諸如ActiveRecord這樣的模塊。通過使用get/post action定義,Sinatra具備動態(tài)路由定義功能。Ron指出,Sinatra不是為Robust web應(yīng)用開發(fā)的,而是為了用來搭建小型的原型,其中的混合業(yè)務(wù)邏輯和展示層并不是問題。
那這樣做有什么好處呢?API實(shí)現(xiàn)、快速的最小化應(yīng)用以及那些不需要Rails中的功能 (比如ActiveRecord)的web應(yīng)用開發(fā)??梢杂脕韺γ姘遄钚?yīng)用進(jìn)行控制,或者是widget。
與其他框架相比,IOWA在近三年的時(shí)間里都不活躍。Cerise有一年的時(shí)間都沒有活躍,因此我們不會深入探討它們。
像Rails一樣,Nitro有其自己的完整核心,其他Ruby Web開發(fā)框架試圖越小越好,并允許用戶自由使用他們喜歡的ORM、模板系統(tǒng)等等。即使這些框架可能缺乏文檔,甚至有些框架不具備這么多的功能、流行程度、對Rails的使用等,它們?nèi)匀恢档靡豢础?/span>
轉(zhuǎn)自:http://developer.51cto.com/art/200912/170155.htm
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站建設(shè)需要多少錢
- 大理網(wǎng)站建設(shè)公司
- 云南網(wǎng)站維護(hù)
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- web前端
- 軟件定制
- 小程序被攻擊
- 云南旅游網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)報(bào)價(jià)
- 網(wǎng)站建設(shè)快速優(yōu)化
- 前端開發(fā)
- 網(wǎng)站優(yōu)化
- 云南小程序制作
- 報(bào)廢車管理
- 做網(wǎng)站
- 網(wǎng)站小程序
- 云南小程序公司
- 商標(biāo)
- 河南小程序制作
- 開發(fā)制作小程序
- 微信小程序
- 霸屏推廣
- 網(wǎng)站排名優(yōu)化
- asp網(wǎng)站
- 報(bào)廢車回收管理軟件
- 昆明網(wǎng)站制作
- 云南網(wǎng)站制作哪家好
- 網(wǎng)站建設(shè)高手
- 關(guān)鍵詞快速排名
- 網(wǎng)站排名