国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
什么是Ruby on Rails

什么是Ruby on Rails

作者:Curt Hibbs  日期:10/13/2005

譯者:吳海燕     日期:  7/12/2005

Ruby on Rails

Ruby on Rails是一套用Ruby寫的Web應(yīng)用程序框架,Ruby是一個(gè)與Python,SmalltalkPerl相似的動態(tài)語言。

本文內(nèi)容:

什么是Ruby on Rails. 1

本文內(nèi)容:... 1

高生產(chǎn)力... 1

Rails是怎么做到這些的?... 2

Ruby. 2

完全的MVC架構(gòu)... 2

約定高于配置... 2

更少的代碼... 3

自動生成... 3

Zero turnaround time. 3

Scaffolding. 3

 

2004725Ruby on Rails到現(xiàn)在已經(jīng)有了一年多了,在這短短的時(shí)間里面,Rails已經(jīng)從0.5版本快要升級到1。0版本了,在保留了易用性和高生產(chǎn)力的同時(shí),又增加了許許多多令人驚嘆的特性。這篇文章將描述1.0版本里面各個(gè)令人感嘆的組件。

我并不教你如何去用Rails來寫Web程序,如果你想那樣的話,你應(yīng)該去看看Rolling with Ruby on Rails。這篇文章只是講述了Rails的各個(gè)特性。

高生產(chǎn)力

Ruby on Rails并沒有引入什么新的功能,以前的Web框架都已經(jīng)很好的具備各種需要的功能,那么Rails是靠什么東西取勝的呢?區(qū)別就在于Ruby是如何的來實(shí)現(xiàn)的。當(dāng)你花了數(shù)天而不是數(shù)周實(shí)現(xiàn)了一個(gè)簡單的Web程序,花了幾周而不是幾個(gè)月實(shí)現(xiàn)了一個(gè)復(fù)雜的Web程序的時(shí)候,你就會注意到這一點(diǎn)了。

當(dāng)然了,如果開發(fā)出來的程序最后復(fù)雜而且難以維護(hù)的話,那么我們剛剛注意到的優(yōu)點(diǎn)也就毫無意義了。幸運(yùn)的是,Ruby on Rails促使人們使用好的編程習(xí)慣,這也就導(dǎo)致編寫出來的代碼結(jié)構(gòu)好而且容易維護(hù)。

如果ruby沒有深度的話――也就是說,如果你嘗試做任何稍微復(fù)雜一些的Web程序的時(shí)候,你發(fā)現(xiàn)遇到了障礙,由于Rails固有的一些缺陷導(dǎo)致了無法完成那樣的程序。不過一些資深的開發(fā)人員已經(jīng)嘗試并且報(bào)道了Rails不存在這樣的缺陷,比如,Tomcat,AntServlet API的作者James Duncan Davidson最近寫道:

Rails is the most well thought-out web development framework I‘ve ever used. And that‘s in a decade of doing web applications for a living. I‘ve built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before. That‘s not to say they got it all right. It‘s by no means "perfect". I‘ve got more than a few nits and picks about how things are put together. But "perfect" isn‘t the point. The point is that it gets you up and going fast and has plenty of depth to keep you going. And Rails does that very well.

 

如果沒有足夠的證據(jù)的話,你也許很難相信他所說的話。不過幸運(yùn)的是,你不需要相信我的(或者任何其他人的)話,你可以自己用一天或者更短的時(shí)間來看看Ruby on Rails tutorial并且做一個(gè)適當(dāng)?shù)?/span>Web程序出來。畢竟,眼見為實(shí)!如果你不想要自己去嘗試,那么你也可以看new Rails video,看看別人是怎么做到的。

Rails是怎么做到這些的?

就好像一個(gè)好的藥方一樣,Rails通過整合適量的正確手段來達(dá)到前面所說的樣子。下面就是Rails為什么能夠如此高效的一部分原因

Ruby

Rails的很多強(qiáng)大的功能都是來自于Ruby的。Ruby獨(dú)特的設(shè)計(jì)使得我們可以輕松的創(chuàng)建domain-specific languages 和做metaprogramming。

完全的MVC架構(gòu)

Rails是一個(gè)MVC(model,view,controller)的框架,他提供了所有的這些層次并將他們無縫的結(jié)合在了一起。其他的一些框架一般都只是提供了一部分的解決方案,需要開發(fā)者自己去整合多個(gè)框架到一個(gè)應(yīng)用程序里面去。比如說,一個(gè)Java開發(fā)人員就需要使用Hibernate,StrutsTiles來實(shí)現(xiàn)MVC的目標(biāo)。

約定高于配置

約定高于配置意味著XML配置文件的終結(jié)Rails里面,沒有任何的xml配置文件!代替xml的是使用一些簡單的約定,讓程序可以通過反射和查找來獲得所需要的配置信息。比如,Rails使用反射來自動的將Ruby對象映射到數(shù)據(jù)庫表里面去。你的程序代碼和正在運(yùn)行的數(shù)據(jù)庫里面已經(jīng)包含了Rails所需要的一切。

更少的代碼

通過遵循一些簡單的編程約定不僅僅可以減少配置文件的使用,同時(shí)還可以讓Rails自動的去處理很多的底層的細(xì)節(jié)問題,這意味著你可以寫更少的代碼來實(shí)現(xiàn)你的程序。保持你的代碼的精簡意味著更快的開發(fā)速度和更少的bug,它可以讓你的代碼更加容易理解,維護(hù)和擴(kuò)展。

自動生成

Rails通過運(yùn)行時(shí)反射和元程序來減少本來你必須要編寫的代碼。你通??梢酝ㄟ^內(nèi)置的自動生成腳本來生成一些原本需要通過手工編寫的代碼,這就讓你可以集中精力在你的業(yè)務(wù)上面,而不是在處理一些無關(guān)的細(xì)節(jié)方面。

Zero turnaround time

一般的Web程序的開發(fā)都需要經(jīng)過一下幾個(gè)步驟:配置,編譯,部署,重設(shè)和測試。這非常的耗費(fèi)時(shí)間,Rails開發(fā)環(huán)境不需要經(jīng)過這些步驟。你做了一個(gè)修改,然后你就可以看到這個(gè)修改的效果了。我們無法描述這對于提高生產(chǎn)力會有多大的幫助,但這確實(shí)很有幫助。

Scaffolding

Rails可以自動創(chuàng)建完整的用來操作數(shù)據(jù)庫表的CRUD(Create,Retrieve,UpdateDelete)操作和相應(yīng)的視圖。這個(gè)功能可以讓你很快的就可以實(shí)現(xiàn)用來操作數(shù)據(jù)庫表的功能。隨著開發(fā)的進(jìn)行,你可以慢慢的使用自定義的CRUD方法和視圖來代替自動生成的程序,從而讓程序更加美觀,更加的功能強(qiáng)大。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
EasyTime - Ruby學(xué)習(xí)筆記 | Agile Web Development with Rails 翻譯(一)
程序員必須知道的11款常見的Web應(yīng)用程序框架 – 欲思博客
為什么說PHP是個(gè)集中營(節(jié)選)-Linux頻道-中國IT實(shí)驗(yàn)室
對 5 個(gè) Go Web 框架的調(diào)查
你應(yīng)該知道的9款流行 Web 框架及其優(yōu)缺點(diǎn)
【程序思考】RIA 對于 java 在 web 開發(fā)領(lǐng)域是否是一個(gè)轉(zhuǎn)機(jī)? - mulder...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服