Ruby作為一門新興的語言,藉助Rails這個killer application 在這幾年發展迅速。這篇文章是我學習Ruby這一個月以來的一點總結,當然主要的基調還是參考的
Peter Cooper 的《Five Essentials For Your Ruby Toolbox》。廢話少說,下面開始。
概要:
- RubyGems
- A good IDE or TextEditer
- Instant Rails
- Mongrel
- A Rss Feed Reader
1、RubyGems
通常情況下 RubyGems 是封裝,發布,安裝 Ruby Library 的常用途徑。它可以讓開發人員把自己的產品封裝成可以安裝的包。這個可以安裝包我們稱為“Gems” 。這個包可以方便開發人員發布或者下載運行Ruby程式。和其他的包管理系統或者安裝作業系統差不多的是,RubyGems可以檢測到你想安裝包所依賴的包,並且自動安裝運行。這樣我們就可以通過一個命令列方便的安裝第三方的Ruby庫並且保證其能運行(解決依賴問題)。當然,提到包管理系統最重要的就是版本管理了,每個庫幾乎都有不同的版本,有時候程式開發的時候可能需要用到同一個庫的不同版本,這個問題怎麼解決呢?還好RubyGems已經幫我們想到了,我們可以同時安裝和維護庫的多個版本,你需要做的只是在安裝或者啟用的時候輸入版本號碼。
RubyGems 現在還不是Ruby安裝程式的一部分,但是彷彿看起來在不久的將來他會成為以部分的。現在你可以到RubyGems.org去單獨下載,安裝超級簡單,只需要解壓縮那個包,然後運行裡面的Ruby檔案就ok了。關於RubyGems的更多資訊可以去他的網站 http://www.rubygems.org 看看。
2、A good IDE or TextEditer
Ruby到現在來說除了在Mac平台上有TextMate這個公認的好IDE之外彷彿沒有什麼公認的如vs.net之與dotnet一樣的killer app啊。原作者給列出來了一部分,不過除了RADRails這個我用之外,其他的都不怎麼care,或者說感覺不出來怎麼好用,所以直接把他的考過來,大家看看。只有radrails我談談,其他的列出來,然後在附加兩個我感覺比較好用的ruby ide。
RADRails
RADRails 是我感覺中應該是第一個跨平台的,開源的專門針對ruby開發的ide。radrails不要被他的名字所迷惑哦,他除了是專門開發ror的application,對ruby程式的開發也是超級好的。另外我比較喜歡他的rails perspective還有dada perspective,尤其是data的那個,彷彿是針對rails項目做的專用的資料庫ide,超級好用。對於generate,scaffold ,controller等的產生也是很好用的。包塊對伺服器的開啟和關閉,程式的調試都是全方位的IDE,可以算得上一個企業級的ruby ide。
Figure 1. RADRails In Action
jEdit
Like RADRails, jEdit is an open source, cross-platform IDE. Unlike RADRails, it isn't Ruby-specific at all. It is a general programmer's text editor. What earns jEdit a spot on this list is its "Ruby Editor Plugin," a plugin that adds a number of Ruby- (and Rails-) specific abilities to the editor, including syntax and error highlighting, integrated documentation, and auto-indentation (see Figure 2).
Figure 2. jEdit and the Ruby Editor Plugin
Find more information about the Ruby Editor Plugin at rubyjedit.org.
Ruby In Steel
Ruby In Steel is a professional-grade Ruby IDE for Microsoft Visual Studio (MSVS) 2005. It features not only code completion, but also full Microsoft-style IntelliSense features on Ruby code (see Figure 3). While it's not cheap ($199US), a free limited-feature edition and a free thirty-day trial make Ruby In Steel appealing to new Ruby developers who particularly appreciate the MSVS IDE.
這個IDE我個人用過,感覺不是很好用。他是商業軟體,提供了一個功能受限的體驗版本。安裝它之後會在每次開啟vs2005的時候先彈出他的框,很噁心人。不過作為一個利用vs2005來實現code completion的想法是不錯。現在我也發現了一塊免費的實現這個的軟體,一會介紹以下。
Figure 3. Ruby In Steel
TextMate
TextMate is an editor available only on Mac OS X. Its use by most of the core team of Rails developers has led to its strong adoption among OS X-based Ruby developers. Like jEdit, TextMate is a general programmer's text editor with a significant number of available Ruby-specific extensions. Depending on the current exchange rate, TextMate costs approximately $50US. TextMate's developer, Allan Odgaard, has been helping another developer produce a Windows clone called E (a.k.a. E-TextEditor).
這個不用說,超級好用。那個E我也剛剛下載使用,長期受windows習慣的我們對E不會太敏感的。不過和vi差不多的話,快速鍵用的熟了就會速度超級快了。
下面說說我用的其他兩個比較好的IDE吧。
RoRED
RoRED是用dephi寫的輕量型的ruby on rails的ide,用起來感覺十分輕便也很好用。具體的功能和前面的差不多,不過他在windows下面可是不像前面那幾位那種需要這這那那的平台支援的。他的速度很快,文法高亮,自動完成宏的功能豆還不錯,個人感覺適合個人練習時候使用。這裡有對RoRED的詳細介紹http://www.rubyinside.com/rored-a-new-ruby-rails-ide-for-windows-153.html 。另外大家可以去http://www.plasmacode.com/ 他的官方網站下載試用。
EclipseDLTK Ruby
這個是剛剛出來的,今天剛剛試用了,感覺超級酷的,因為他支援和vs.net2005那種自動完成提示,這個可是夢想的功能啊。從名字可以看出來,他是基於eclipse開發的。大家安裝可以通過eclipse的update center來進行,需要的只是添加一個源,地址是:http://download.eclipse.org/technology/dltk/updates/1.0/site-interim.xml 。詳細安裝說明在http://www.eclipsezone.com/eclipse/forums/t92525.rhtml 。項目的首頁在http://www.eclipsedltk.org/ 。
3、Instant Rails
你想讓ROR的環境一步到位嗎?不需要命令,只需要一個程式雙擊運行一下,所有環境就ok。這個現在已經不是夢想了。Instant Rails,這個構思很好,很工具 + 生產力誕生簡直就是我們這些ror開發人員快速搭建開發環境的福音啊。現在只有windows的版本,linux和mac的已經在移植中,大家耐心等待。
Instant Rails 運行會自動一次性的安裝,運行Apache Web server, Ruby,MySQL資料庫和Rails framework。
雖然Instant Rails可以快速搭建ror的開發環境,但是用它來部署你的伺服器是不合適的。因為他的安全不太完善,啟動並執行效率也有待考察。
4、Mongrel
Mongrel 是一個ruby的webserver和類庫. Mongrel的特色就是快,它比ruby內建的web server還有其他的webserver都要快。把程式部署到這個上面是會給你帶來速度上的驚喜的。 另外你也可以在ruby程式中直接使用mongrel,開發屬於自己專用的web server。mongrel的安裝超級簡單,別忘了他是用rubygems打包的,一個命令完全搞定。 gem install mongrel
在我們介紹的五個武器總mongrel是唯一的一個類庫。他是開放原始碼的。他是一個很好的教我們如何把自己的產品打包,市場化。當然他最吸引的就是他的作者從中教給我們如何寫一個類庫。
5、A Rss Feed Reader
這個東西作為一個單獨的武器是不是感覺很意外啊。我看到也是很意外,不過按照作者的意思來說還是非常合理的。因為或許rss是整個ror快速發展的文檔知識體系的根基。因為幾乎每個ror開發人員都有自己的blog,他們在上面分享自己的經驗和總結,我們一個一個的看可能忙不過來,如果用個rss工具來訂閱者看,一切就都解決了。關於具體的rss feed reader。我相信大家都有自己心儀的。作者推薦的幾款感覺都不是很適合國內的人使用,當然 google reader除外了。我個人推薦在國內使用zhuaxia.com 或者我曾經參與開發的 www.365rss.cn 這個。
今天就先寫這麼多吧。好久沒有在首頁發表過文章了,想念大家。