<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大鳥的學習樂園
    路漫漫其修遠兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0
    Ruby on Rails創始人DHH一直被人們視為軟件天才,他提倡簡單之道,他的Rails框架大大簡化了Web開發,為敏捷開發提出了有效的實踐方法。但你是否知道,DHH在20歲以前,沒寫過一行代碼。

    【51CTO獨家特稿】他的數學成績很糟糕,曾不只一次的得過F;他并不算聰明,21歲才進入哥本哈根商學院就讀本科學位;他做過游戲網站的記者,還與人合伙開過公司;在20歲以前,他沒寫過一行程序代碼。

    51CTO開發頻道年終巨獻:架構師最怕程序員知道的十件事

    他在2005年獲得Google和O'Reilly舉辦的OSCON最佳Hacker大獎;2006年,他獲得了年度最佳Web開發工具震撼大獎(Jolt Development Tools);現在,他創建的框架成為Web開發的主流技術,并被Twitter、Hulu等大型Web2.0網站所采用;由于他的框架采用Ruby開發,從側面推動了Ruby語言的發展,并使Sun緊急上馬推出JRuby。

    Ruby on Rails創始人DHH
    David Heinemeier Hansson

    他就是Ruby on Rails的創始人David Heinemeier Hansson;一般,Ruby程序員將Ruby on Rails稱為RoR,將David Heinemeier Hansson稱為DHH。

    37signals和Basecamp

    2004年,哥本哈根商學院的大三學生DHH接到一個來自美國芝加哥的電話,他在37signals公司的合伙人計劃上馬一個叫Basecamp的項目;和37signals的其他項目一樣,Basecamp也是一個基于Web的項目,它試圖解決項目因缺少圖表、曲線圖或者報告而失敗的現象,簡單的說,Basecamp是一個溝通和協作平臺;唯一不同的是,37signals之前都是為客戶開發的外包項目,Basecamp將是他們第一個自己的產品。

    聽上去是個不錯的項目,但問題是37signals目前只有兩個優秀的設計師和一個半路出家的程序員,而目前,這個程序員還在大洋彼岸的哥本哈根拿著電話暗自興奮。

    幾天后,帶著兩年PHP開發經驗和學校里學來的一點J2EE課程,DHH來到美國;他將面對的是一個極富挑戰的項目,繁瑣的需求、眾多的功能模塊、復雜的接口和緊迫的交付日期。

    把復雜的問題簡單化

    DHH很自信,他知道自己沒有出色的數學天賦,沒有豐富的項目經驗,沒有大師級的計算機功底;但他對自己的另一項能力很自信,把復雜的問題簡單化。早在編寫PHP程序時DHH就開發過一套框架,目的是使PHP能在項目中變得簡潔快速,將程序的界面、控制和數據分離開來,方便團隊間的協作和維護。

     

    項目之初,DHH試圖使用自己的PHP框架進行Basecamp的開發,但沒過幾天DHH就發現了一些問題:他之前的PHP快速框架一直用于一些流程明確,指向專一的Web項目;但Basecamp不同,作為一個溝通協作平臺,用戶角色進入后會產生一些復雜甚至意想不到的工作流;他甚至開始質疑PHP的能力是否適合這樣的項目,PHP在語言層的一些天性使其在高互動高響應的系統里顯得笨拙而復雜。

     

    對編程開始感到憤怒

    PHP每次HTTP請求都要初始化資源,這個過程的開銷非常大。盡管PHP解析器的運行速度快速且沒有缺陷,但一旦使用框架,那么每次請求時初始化整個框架使性能的下降非常厲害,當使用一個很復雜的PHP框架的結果就是整體性能嚴重下降;同時,PHP語言本身的問題造成了PHP添加跨請求的高級特性相當困難,這是PHP本身一個很大的限制,但是反過來說,正是這種限制使得PHP始終保持在一個比較簡單的Web語言上面,而正是這一點才是PHP得以成為互聯網流行Web編程語言的原因。這是一個復雜的問題,時至今日,究竟誰才是最適合Web開發的語言一直存在爭論,詳細請參考51CTO的策劃專題《大師論戰Web開發 Ruby和PHP誰將稱王?

    源自底層的弱點似乎正在預言著PHP并不完全適合正在襲來的Web2.0大潮和37signals的Basecamp項目。DHH開始思考,他要找到一種簡單的方法完成真個項目,靈活、簡潔和快速是他的終極要求。他在朋友的慫恿下開始接觸Ruby,很快,他開始喜歡Ruby,因為他發現,Ruby可以把復雜的問題簡單化。在51CTO之前的一篇《Ruby on Rails入門之道》報道中,DHH提到:“我是在對編程開始感到憤怒的時候開始學習Ruby的。我想做真實的東西,而不僅僅是一個玩具程序”。

    Ruby

    Ruby的開發效率高的驚人,更重要的是它的語法簡潔優雅,DHH看著自己用Ruby一周時間寫出的功能比用PHP做一個月還要多;之后,他開始嘗試將自己的PHP框架用Ruby做移植,并在其中加上J2EE的一些東西。很快,他將自己的興奮傳達到37signals并說服Basecamp團隊使用Ruby進行開發。

    兩個月后,DHH開發出了基于Ruby的框架;又過了兩個月,整個Basecamp產品完成。好事接二連三,在DHH對自己架構的框架異常興奮的同時,37signals的第一個產品面Basecamp一發布就引起了轟動,全世界40多個國家的人值得開始使用,當時,有人認為它是世界是最好的Web應用程序。

    同時,Basecamp也引起了開發界的關注,眾多Web工程師試圖找出BaseCamp快速響應、安全穩定的秘密。DHH決定將Ruby框架從Basecamp里剝離出來,讓更多人應用自己架構的框架并受益于高開發效率,這個框架就是Rails。

    Ruby on Rails的簡單之道

    DHH對Rails的解釋是“最近的一條路”。從Rails這個名字我們可以看出,DHH希望軟件開發可以沿著一個正確的軌跡不斷向前,告別復雜的左轉右轉和討厭的紅燈;他也是按照這樣的想法架構整個Rails。如果你使用過Rails,其腳手架的功能一定讓你興奮。我們可以通過Rails腳手架創建一套樣式的行為和模板,它們可以讓你在具體的模型中操縱數據異常簡單,同時,腳手架還提供了允許在數據庫中插入、更新和刪除記錄的方法與頁面。

    David Heinemeier Hansson
    Ruby on Rails創始人DHH

    回想一下你在PHP和Java中的復雜的配置和數據庫操作,這些在Rails里竟如此簡單。當然,Ruby on Rails不只強大在數據庫方面,除了可以使用Active Record進行數據庫操作,還可以使用Active Record和Action Pack進行模型和視圖的開發;除在基礎Web開發方面的簡單化,在Ajax交互支持、擴展和部署方面,Rails同樣簡單易行。

    Ruby on Rails因為可以把復雜的問題簡單化而變得流行。2004年7月,DHH發布了Rails的第一個版本;第一周Ruby on Rails的下載量是2000次,,第二周下載量翻了好幾倍,之后幾個月間,整個社區似乎都在為Ruby on Rails的誕生而興奮!目前,Ruby on Rails已經進階主流Web開發技術,使用其開發的各種網站不計其數,詳細可以參考51CTO之前的報道《TOP50用Ruby on Rails開發的網站

    隨著Ruby on Rails的成功,DHH也成為一些開發者的偶像,一個數學得F的軟件精英,一個20歲前沒寫過一行代碼的程序天才,一個把復雜問題簡單化的架構大師。

    posted on 2009-12-29 07:17 大鳥 閱讀(828) 評論(0)  編輯  收藏 所屬分類: Architecture
    主站蜘蛛池模板: 黄页网站免费在线观看| 久久国产乱子伦精品免费看| 久久精品免费一区二区| 亚洲国产精品久久久久网站 | www国产亚洲精品久久久| 亚洲国产一区二区三区在线观看 | 国产精品免费久久久久电影网| 亚洲国产精品国产自在在线| 精品一区二区三区免费毛片| 免费人成在线观看视频播放| 成人a毛片免费视频观看| 亚洲精品无码永久在线观看| 精品熟女少妇aⅴ免费久久| 亚洲无码在线播放| 一级毛片免费观看不卡视频| 亚洲精品午夜视频| 毛片免费观看网址| 国产精品无码亚洲一区二区三区| 又爽又黄无遮挡高清免费视频 | 免费大学生国产在线观看p| 一个人看的hd免费视频| 亚洲国产精品无码成人片久久 | 免费无码VA一区二区三区 | 色天使亚洲综合一区二区| 亚洲AV中文无码乱人伦| 国产日韩一区二区三免费高清| 亚洲最大的成网4438| 久久电影网午夜鲁丝片免费| 色多多www视频在线观看免费| 亚洲国产精品一区第二页| 久久受www免费人成_看片中文| 亚洲av无码专区青青草原| 中文字幕亚洲乱码熟女一区二区| 久久精品中文字幕免费| 亚洲不卡影院午夜在线观看| 亚洲国产精品综合久久网络| 久久成人免费大片| 亚洲av无码一区二区三区人妖| 亚洲精品午夜无码电影网| 中文字幕无码不卡免费视频| 国产高潮久久免费观看|