歡迎您光臨本站 註冊首頁

語言之爭:Rails還是PHP?適合才是最好

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

  隨著大舉進軍Rails號角的吹響,Rails成為Web 2.0中小型站點開發的框架新寵。一夜間rails與敏捷開發的思想逐步深入人心,在這個技術浪潮中湧現出的成功站點也不在少數。然而,Derek Sivers最近在O’Reilly站點上發表的一篇名為兩年RoR開發付之東流,重返PHP的七大理由的文章,激起了rails開發者們強烈的反響。

  Derek Sivers是CD Baby以及HostBaby的創建者,自CD Baby站點於1998年創建以來,經歷了數次代碼重寫,從最初的HTML到之後的PHP,兩年前Derek又將站點用rails重寫,而如今又重新回歸到PHP語言上來。

  緣何如此?Derek在文中寫道:2005年1月份,我在O’Reilly的Blog上撰文宣布,將放棄cdbaby.com站點原先十萬行雜亂的PHP代碼,並準備從頭開始使用Rails將站點的代碼重寫。於是我僱用了當時最好的Rails程序員,開始著手這個龐大的計劃...最初的幾個月進展非常順利,但是在後續的開發過程中,需求開始與Rails實現顯得有些衝突,並且使項目陷入窘境,有時我不得不問自己放棄原先的計劃而使用Rails是否真是值得的...兩年之後,我們在rails開發上經歷了各種挫折,最終發現總共才完成了期望工作量的一半。

  Derek一直在思考這個問題“有沒有什麼是Rails能做而PHP做不到的?”答案是否定的,於是Derek決定摒棄兩年來使用Rails編寫的代碼,重新使用一直熟悉的PHP來將網站全部重寫。Derek在文中寫道:

  僅僅用了兩個月,只有我一人進行開發,並且沒有使用任何框架,僅是在vi編輯器之下,使用PHP重新編寫了CD Baby整站的代碼,而且效果出乎意料的好。這應該是我寫出過最好的PHP代碼,完全遵循MVC和DRY(Don't Repeat Yourself)的準則,這些獲益應歸功於使用Rails開發過程中得到的經驗和智慧。

  Derek進而總結了從Rails轉回到PHP的七個原因:

  有什麼是Rails能做而PHP做不到的?...沒有;
 
  我們整個公司的Web代碼都是用PHP寫成的,請別忽視應用間的整合問題;

  別要你不需要的額外功能;

  PHP小巧而快速;
 
  PHP代碼完全按照我自己的方式運作;

  我喜歡直接使用SQL;

  語言就像女朋友:你覺得新的更好那是因為你有了進步。
 
  當然,Derek並沒有否定Rails框架的好處,並總結了Rails為開發者帶來的益處,當然更重要的是Rails經驗為開發者帶來的對問題看法的轉變和技術的提高等。

  這些Rails的益處包括:通過Active Record將數據封裝在模型類中,通過介面向Web應用提供數據,符合Martin Fowler提出的Active Record模式思想;具備自動載入(__autoload)機制;
真正的MVC分層設計;所有的HTML代碼來自於搶有力的模板機制;極度簡化的代碼量。

  Rails與PHP是面向敏捷Web開發的兩種主要語言。針對兩者在Web開發領域中的關係,JavaEye的站長robbin也曾做出過這樣的評價:根據我的觀察,其實現在互聯網應用,PHP仍然是當仁不讓的第一開發語言,佔據了最大的市場份額。這是有內在的原因的,因為PHP超級簡單易用,是當前 web開發技術當中,學習起來最快的了。有點編程基礎的人,學習一天,第二天就可以幹活了。對於互聯網開發來說,速度是第一重要的事情,拖拖拉拉做不出來網站,機會就永遠喪失掉了,對於熟練的開發人員來說,RoR可以提供比PHP還要快的開發速度,這就註定RoR肯定會流行。

  在一篇名為“漫談rails與php”的帖子中,從框架和語言、MVC、ORM以及各自優缺點等各方面都做了評論,axgle在結尾處這樣寫道:我想說的是php將繼續發展下去,已經發布了的php5以及正在發展中的php6也將有一些新的特性加入。而rails也在不斷發展中。我相信rails和php一道,都有各自的一席之地。

  其實,語言或開發框架相關的爭論並不鮮見,然而爭論的最終結果往往是選擇合適的語言或框架才是最正確的。在接觸新技術的初期,不能僅靠對技術的熱情而對不熟悉的領域主觀臆斷,因事先估計不足而使得結果事與願違。程序的編寫不僅要靠設計良好的語言和框架,靠經驗的積累和技巧的沉澱有時才是最重要的。

(責任編輯:A6)



[火星人 ] 語言之爭:Rails還是PHP?適合才是最好已經有415次圍觀

http://coctec.com/docs/discuss/show-post-74541.html