2009-11-16 58 views
10

我正在爲一家爲我工作的IT公司的客戶開發一個項目,我相信Rails是完美的。我在第二天左右開會,恐怕我會受到「爲什麼Rails?」的轟炸?毫無疑問,像「Rails沒有擴展」,「Rails只是一個CMS」以及其他人似乎對Ruby on Rails的其他一些神話似的一大堆修辭。砸爛Ruby on Rails神話

我們似乎都有關於Rails如何不擴展的爭論,很難部署,或者在任何特定時刻都會爆炸。對於那些每天使用Rails的人來說,我們知道就像任何其他語言或框架一樣。好像有很多關於RoR的錯誤信息,並且Rails經常會得到一個錯誤的包裝。爲了幫助我參加這次會議,我希望編寫一份神話清單 - 可能是每個答案的一個神話 - 並且我們可以投票支持我們之前聽到的神話 - 消除恐懼,不確定性和懷疑,這常常掩蓋真相軌。

一些谷歌搜索後,我發現this blog post這正是我想在這裏整理的東西。正如戴維·海因梅耶爾·漢臣說,在後:

所以我認爲這將是約時間 打抱不平多項 毫無根據的恐懼,不確定性和疑慮 。我將通過這些當時的神話之一,並告訴你 爲什麼他們只是不正確。

這不是真的說服你 你應該使用Rails。只有 你可以做出該選擇。但給你 你的事實,所以你可以讓你自己的 知情的決定。一個不是 成立於浮動的許多神話 左右。

讓我們澄清吧!

+8

您可能希望嘗試從更客觀的角度接近它 - 問問自己潛在問題是什麼,然後調查它們是否是現實中的問題,以及您將要進行的項目。如果你從「Rails對這個項目來說是完美的」的角度來看待它,那麼任何缺點都必定是個神話,「你不可能得到一張精確的圖片。 – 2009-11-16 11:31:21

+1

因爲不能有一個正確的答案,所以也許可以將其設爲社區wiki。 – 2009-11-16 11:31:32

+0

我承認它不完全客觀 - 並且沒有一個單一的答案(所以我創建了一個社區wiki) - 但它更多的是關於瞭解Rails的不真實情況,因爲我從客戶端獲得的任何有關* not *的論點Rails不會來自一個深入研究的觀點。我試圖用自己的武力反對不合邏輯的或「虛構」的反對使用它的論點,而不是反其道而行之。 – Ash 2009-11-16 11:36:39

回答

6

神話: 「Ruby on Rails的不規模」

胸圍:這不是一個具體的,回答的問題。請澄清。

說什麼技術「不規模」聽起來非常專業和非常企業 - 但這不是一個明確的問題。這只是一種懶惰的方式,否定未知/未經證實的問題,我會要求澄清:

「你的意思是'規模'究竟是什麼?你現在怎麼衡量它?

這可能意味着:

  • 最大用戶會話
  • 平均響應時間定負載
  • 吞吐量在固定的時間每個服務器的併發給出的方案。
  • ...組織項目時遇到困難,因此需要一個大型的開發團隊來解決這個問題。

有很多方法來處理「規模」,但直到你知道你處理哪一個,並不總是很明顯該怎麼做。

有基於Ruby的解決方案的負載,包括HTML

  • 分片在多個數據庫應用
  • 這樣用戶
  • 推手之間共享預先計算工作

    • 緩存片段將視圖渲染到AJAX/Javascript域中,以便在客戶端上使用前端Web服務器
    • 只是使用更多的硬件(即開發者的時間是昂貴的,但是這種方法取決於需求增長的淺錶速度
    • 做得較少交互式並且有更多的批量工作
    • 只做紅寶石的一部分工作 - 例如,現有的傳統後端+軌前端,或者也許是通過交易的功能編程系統+軌前端

    如果挑戰者不能拿出的「規模」的具體含義那麼它是不是一個有效的關注。

    但是,如果挑戰者確實拿出一些具體和可衡量的,然後我會使用一個timeboxed,標溶液http://c2.com/xp/SpikeSolution.html)有一些數字回來 - 可能就怎麼做幾個選項它。

  • 4

    從客戶理解的唯一角度提出觀點,金錢!

    顯示您認爲在Java,JSP或他們當前的技術中需要花多長時間,以及優點和缺點,比如更容易獲得開發人員。然後,在Ruby中陳述時間尺度,這肯定會降低開發成本,但也是以管理員不得不部署不同系統爲代價的,可能難以招募知道Rails的人員等等。這是他們的錢,所以給他們事實並讓他們做出決定。

    爲了迴應公司對Ruby on Rails的具體批評,與他們自己的系統相比,公司可以給予很多理由,其中一些原因並不特定於Ruby或Rails,比如他們已經有很多Java開發內部或使用Java編寫的現有基礎架構,這些使用相同的語言系統(如Java)將始終更易於使用。無論如何,回答你的具體問題:

    1)爲什麼選擇Rails? 簡單來說,Rails是爲構建網站而「設計」的,並且做了一項高效的工作。尋找一些統計數據來支持你(我不是說在鏈接的統計數據是準確的,但數字會一直打動客戶端)

    http://www.theserverside.com/news/thread.tss?thread_id=33120

    2)Rails沒有規模

    http://trak3r.blogspot.com/2008/03/rails-doesnt-scale.html

    3)Rails只是一個CMS? 如果他們正在構建CMS,那麼推薦Drupal,而不是Rails

    我想你在回答你的客戶問題時不得不考慮你的腳,他們會希望有人瞭解除了Rails之外的其他框架,就像使用合適的工具進行正確的工作

    +0

    錢與公司類型談判。 +1 – 2009-11-16 11:56:22

    +0

    這不完全是「問題」的精神所指的意思。雖然你提出了有效的觀點,但並不完全意味着什麼。 – Ash 2009-11-16 11:57:34

    1

    神話:很難聘請一位優秀的Ruby on Rails程序員。

    (其實,我不能摔壞了,這只是一個潛在的神話誰可以,請編輯這一個或創建另一個答案的想法。)

    +0

    這有什麼困難嗎? Rails開發人員的數量 - 或者Rails開發人員的素質 – 2009-11-16 12:54:09

    2

    誤區: Rails的還不夠成熟要在其周圍建立大量強化的開源庫,需要快速可靠地實現大規模項目。

    胸圍:實際上,RoR社區有很多寶石和插件可供使用,其中許多已經被活躍的社區試用和發現。這裏不僅有資源,還可以通過'gem'和Rails的內置插件架構進行管理。最壞的情況:你找不到那個完美的寶石或插件。在這種情況下,如果您使用JRuby,則可以輕鬆地編寫自己的Java或從Java世界借用。