企業該不該採用 RoR 開發專案? 這是很多人都有想過的問題。
以企業的觀點來看,絕大多數的答案是「No!」
RoR 開發的速度的確很快,但是以 RoR 目前的狀況還沒有穩定到可以讓企業做為主要開發的語言。而這裡所指的穩定不單指系統執行上的穩定,而是人力及開發資源上的穩定。
解決問題的時間遠比開發的時間還長
或許用其它語言要 1 天才能開發出來的程式,用 RoR 不到半天開發出來了,正沈醉在快速開發的喜悅中時…卻發現在執行上出現一個不知何故產生的問題。翻遍網路上所有資源,在社群上發問也沒有結果,因為你可能是全世界第一個遇到這個問題的人,只能自力救濟一步一步的找出問題發生的原因,並且想辦法解決它。而這段時間卻有可能花上3天到一個星期。
人才尋找不易,人力青黃不接
緊接著遇到的問題是,企業在業務擴張後的人力去哪找。104 的履歷在一個月內都不一定會出現一個 Ruby 的。就算出現會 Ruby 的也不一定熟 Rails,而且必須了解對方的工作意願,是否有機會共事…等等,更不要說進來之後還有可能根本就不適任。
最差的狀況就是自己重新訓練一個人,以目前就業市場來看,學 Ruby 只能靠興趣、靠熱誠,有了實作經驗對未來工作是不是有幫助就看每個人怎麼想了。但是訓練新人學 Ruby 也回到一開始的問題,開發資源太少容易造成學習曲線過長,很容易就把人給嚇跑了。
極易造成業務拓展的絆腳石
使用 RoR 開發專案,對於以 RoR 為主要技術的公司或許沒問題,但是客戶可是會有意見。絕大部分的客戶不會希望花錢買了一個只有少數公司能維護的產品,很容易有”花錢讓人捏著脖子走”的感覺。尤其大型企業還會要求內部要有人力可以維護專案,而且還要有原廠在台灣服務,這也是為什麼大企業還是喜愛 Microsoft 跟 Sun Java Solution 的原因之一。這個連 PHP 都很難打入的大企業市場,RoR 要打進去更難。
快速開發的原罪? 屬性適合最重要
從 RoR 衍生出的諸多問題並不是代表這個技術不好,而是”現階段”的 RoR 很容易把專案工作內容由減法轉為加法,企業必須去承擔快速開發所帶來的二面刃,以及許多無法掌控的變數。
每個專案的在執行的過程一定有其適合使用的技術,當然一定有專案以 RoR 開發是最佳的選擇。因此企業在採用 RoR 做為開發技術之前,絕對需要經過審慎的評估。而目前已經採用 RoR 的企業,也要有回饋 RoR 社群的心,透過良性的循環才能讓每個創新的 Web 技術變的更好。
延伸閱讀:
約耳-語言戰爭 (正體中文)
Why PHP is the choice language – a business owners perspective.
何飛鵬: 工作的加法邏輯
8 comments On 企業該不該採用 RoR 開發專案?
我.. 我的履歷上面有寫我會Ruby/Rails..
其實有蠻多會Ruby/Rails的人都在等有職缺
甚至有人在做時薪80的工作呢XD…
CFC:
可惜你在屏東,不然一定很多人搶著要。^^
RoR看似很快就能讓寫網頁者發展Web程式,藉由Ruby的OO語言及Rails的MVC框架,將過去發展Web Ap 的混雜方式分離,看似簡單真的去學習,發現到整個學習的曲線並不輕鬆,如果沒有一點底子還真不容易,話說回來不是以軟體為產品的企業講求的是穩定後續維護成本低,但是如果是以軟體為本業或提供網路服務的發展企業可能看法又不同了,如何能讓自己的產品或服務比其他同業更有競爭力,也許是另一項考量的重點了.
對RoR有興趣的話,可以考慮一下參加12/11,13的CodeGear 3rdRAIL產品發表會,http://www.sinter.com.tw/seminars/CG_3rd_rail.html
除了針對RoR開發所推出的新產品介紹外,也會提供RoR的開發特性、範例說明。
PHP 和 ASP 純手工寫的網頁,功能像是自已規劃設計後一行一行添上去的。
ROR 就比較像是用一包一包疊的,一整套給你,不要的再拿掉。
若是在日本的話, 應該比較好找. 畢竟Ruby是源自日本.
我覺得RoR是一個笑話,為什麼呢?
http://rubyonrails.org.tw/screencasts.html
15 分鐘內寫出一個部落格網站
15 分鐘內,我們從零寫出一個完整的部落格引擎: 有留言和管理介面。 整個程式只有 58 行碼
這就好像,很多台灣的電子公司都是做代工的
所有的機器軟硬體都是從外國進口,拿到台灣拼裝後運作
平日由所謂的「維護工程師」負責維護
而這些「維護工程師」做些什麼呢? 開機、關機、簡單狀況排除
要是真的機器出大問題的時候呢? 「負責打電話給老外求救」
也就是說,整個核心關鍵技術其實都由老外獨佔
公司開很大,但是毛利低的可憐,卻還要對外宣告
「本公司是xx大廠,生產效率一級棒」
而有另一種公司,他的技術是自己研發的,機器也是自己設計
公司真正高獲利、高毛利
前者指的就是RoR,後者指的是php, asp, jsp……
如果只會RoR,基本上並不算一個真正的程式設計師
我也不相信,一個58行寫出的部落格
他的可維護性、嚴謹性、和整體修改性會有多好
我用RoR開發Web 2.0 網站一年多了,解決下面的問題:
1. Security (XSS, CSRF, injection, etc)
2. Language (gettext .po files)
3. performance: yslow got better results than most sites (avg B-C)
4. deploy, using capistrano, 每次deploy 只用一個command.
我覺得起碼上面這些常見的WEB 問題, RoR 處得不錯。
如果客觀分析RoR 和php 等語言,真正的問題是前者沒有那麼普及。
如果因為RoR 易寫,便放棄考慮網站的真正問題,那麼其他留言者的論點可能是真的。
如果你什麼Security 也不理會,上面一句便完成一個輸入欄。
但如果你考慮Seucrity, 下面方法才是正路
問題是否Ruby 沒處理?其實是programmer的責任去了解你的編碼在做什麼。
在那種語言上也是。