不知道有沒有人會看程序員,大概從去年開始,幾個電腦書店通路都開始賣這本對岸的雜誌。這一期10月號的程序員雜誌特別企劃,拿 Ruby on Rails、PHP、ASP.NET、Java 來比較一番。
Ruby on Rails
Ruby 語法簡單,物件導向功能強大,但 Rails 還太年輕,效率不夠優化,類別庫不夠完備。
Ruby難入主流的幾個原因 : 1.Ruby比起 PHP 和 VB還是難多了,PHP和VB是便宜貨(甚至沒有命名空間),但卻是事實上Web開發標準。2. Rails太超前了,有時候魔術變多了,就變成魔鬼。太富跳躍性,過於智能,開發人員就難以理解。3.沒有可靠的IDE。4.Ruby 上只有 Rails 這個Web應用方案,缺少競爭。5.企業級應用能力和擴展性未明,除了Rails社群中成功的網站,在其他領域是否也有成功案例。6.缺乏網路提供商支持,99%都支援PHP。
PHP
廣受群眾認可使用,但卻在很多開發人員中評價卻不高。PHP的通俗易懂而沒有挑戰性的概念,PHP寫三年好像也沒什麼好說的,Java學三年確有很大區別,可以講出很多開發架構跟部署問題。缺乏體系的開發架構也讓PHP很難成為企業應用系統的選擇。而很多PHPer開發的隨意性和不負責任,也讓PHP的口碑不高。
LAMP草根組合 ,PHP的問題在物件導向特性不足,在大型專案中容易混亂。不過隨著PHP5加強的物件導向,也越來越適合中大型了,但是卻也與本來簡單通俗的精神背道而馳了。
Java
SSH(Struts+Spring+Hibernate)是目前最廣為接受的組合,但是分析及實作費工不少。
微軟技術壟斷,在Atlas的幫助下,開發Ajax變的簡單,但是過於依賴的結果,可能缺乏深入了解DOM。對一個框架不能深入了解核心的情況下,是很難投入太多信任的。ASP.NET運行在windows平台,比較適合開發企業ERP等中小型服務。系統本身不夠透明,因此後期的風險會比較高。
如果可以不用Ajax,就不要用Ajax,雖然有很多框架宣稱你可以不用了解Javascript也可以開發出Ajax,但是Javascript是一切的基礎。如果你的團隊沒有比較資深的Javascript開發人員,採納Ajax很多時候是惡夢的開始,你需要不斷的和scripting error奮戰。