天天看點

靈活的奇迹!!! 靈活的奇迹  精彩章節,陸續放送,敬請關注!

《應用Rails進行靈活Web開發》

靈活的奇迹

捧在你手上的這本書算得上一個奇迹:僅僅一年前當我向出版社推薦它時,編輯們還擔心這樣一本關于“冷門主題”的著作是否能夠在國内受到關注,甚至是否值得去引進翻譯它;而當芷薰剛剛完成這個第一版的翻譯,編輯們已經迫不及待地把尚未正式出版的第二版塞到了他的手上。當然,你知道,這都是因為Rails。

在過去的一年中,Rails創造了太多讓人瞠目結舌的奇迹。這個新鮮的架構在短短時間内極速竄紅,不僅大有在web開發領域一舉超越PHP/Perl/Python等“老前輩”之勢,甚至還震動了Java的世界,讓衆多有着多年J2EE開發經驗的架構師相見恨晚,連.NET社群也未能在這場風暴中幸免。老話說“模仿是最真誠的恭維”,那麼看看Groovy on GRails、SQL on Rails、Lisp on Line、Trails、MonoRails這些連名字都蕭規曹随的架構如同雨後春筍般層出不窮,開發者社群對Rails的認可早已溢于言表了。

作為Rails的作者,David Heinemeier Hansson也随着他的作品一道,迅速步入了頂尖程式員的行列。這個生于1979年的丹麥小夥于2005年8月在Google和O’Reilly共同舉辦的“全球開源大會”(OSCON)上被評為“年度最佳黑客”;《連線》雜志把他的大照片放上了封面,标題是“地球上最炙手可熱的黑客”。Rails于2006年3月獲得了Jolt大獎“最佳web開發工具”獎項,第一本關于Rails的著作——也就是你手上的這本書——同時獲得了Jolt大獎“最佳技術類圖書”獎項。如果把剛剛過去的一年稱為“Rails年”,我相信并不為過,而且這股熱潮還在不斷蔓延升溫。

Rails究竟有什麼神奇之處,讓一幹人等為它心醉神迷?最直覺的原因是,它封裝了很多關于web開發的知識——Struts也允許你實作各種各樣的功能,但那隻是“能力”,卻不是“知識”。你可以有100種方式來組織你的web應用,Rails則把一種最合用的方式直接放到你的手上。在用Rails開發web應用時,你會感覺事事都那麼貼心、處處都那麼順手,仿佛每個問題都已經有一個解決方案就在手邊。這就是“知識”,Rails的開發者們已經把他們開發web應用的經驗融入到了這個架構之中。

另一方面——在我看來是更加重要的——原因就在本書的标題中:agile。平心而論,我并不完全贊同芷薰對本書标題的翻譯,因為agile實在是“靈活”而非“快速”。“快速”僅僅是指速度而言;“靈活”則不僅意味着開發速度快,而且還意味着應用程式具有能夠随時應對變化的靈活性、讓修改既有代碼與添加新功能易如反掌的優雅性、以及在快速疊代中反複折騰也不會散架的高品質。現代企業(尤其是從事網際網路業務的企業)随時面對着全球化經濟的機遇與挑戰,飛速變化的商業環境和業務使他們對IT提出了更高的要求:他們不僅要快速,更要求靈活。

Rails正是一個具備了靈活特性的web開發架構。除了架構本身的設計之外,它也得益于Ruby語言本身:這種語言比之Java/C#等語言更具動态性,它的文法能夠随着不同的應用場景而進化演變,這就使得開發者能夠在Ruby基礎上創造出形形色色的DSL——簡單地說,也就是讓Ruby程式看起來更像是在描述問題領域,而不是“編寫計算機程式”。實際上,Rails架構本身就是針對web應用的DSL,其中的ActiveRecord則是針對資料庫的DSL。此外,Rails還内建了對于測試驅動、自動建構等靈活實踐的支援。語言、架構、開發過程的三位一體,讓Rails具備了靈活web開發的全部要素。在閱讀本書的過程中,讀者就可以親身感受到這種靈活的體驗。

作為新技術最熱心的嘗試者與靈活方法最忠實的推行者,ThoughtWorks已經在Ruby/Rails方面積累了相當豐富的經驗,并且已經用Rails進行了好幾個真實項目的開發。從芷薰開始翻譯本書起,ThoughtWorks中國公司就與他建立了緊密的聯系,并全程承擔了對譯本的審閱工作。如果你在閱讀本書之後需要更多關于Ruby、關于Rails、關于靈活方法的知識,也許ThoughtWorks可以給你提供必要的幫助。更多關于ThoughtWorks的資訊,請關注ThoughtWorks中文網站:www.ThoughtWorks.com.cn。

我想,親愛的讀者現在大概已經迫不及待地要翻開手上的書一探究竟了。那麼,就請你不要猶豫,立刻随着David Heinemeier Hansson和芷薰一起進入Rails的世界吧。最後,祝你閱讀愉快、程式設計愉快。

 精彩章節,陸續放送,敬請關注!