image

剛剛在Neo's Blog看到這篇「訂便當被買走了?」,因此馬上連過去訂便當看看,果然網頁的最下方出現了ap-mobile的字樣及客服專線。

關於訂便當這個網站應該還算小有名氣,去年底Mr6還特地寫了一篇訂便當,如何擄獲「她」的心來談訂便當網站,從文中可以看出訂便當對於某些上班族來說是多麼具有吸引力及便利性。

最早知道訂便當這個網站是去年暑假剛接觸到Ruby on Rails時,在網路上到處逛與Ruby & Rails相關的文章,偶然發現有個人為了練習Ruby on Rails而寫了一個簡單的訂便當系統,當時看到作者對於Ruby on Rails的簡要感想就讓我更加想學好這個Framework(儘管作者說他Dirty orz):

Ruby for rails 這本書剛剛入手,看了幾章之後,很想實際寫寫看。我找了個超迷你的 web app 來嘗試看看 - 一個訂便當的系統,含四個 table,四個網頁。

花了兩天,已經開發到堪用的程度了。對 Ruby on Rails 最大的感想是 -- Quick and Dirty

Rails 一開始就把整個開發的環境都設好給你了,而且有很多 script 可以省功。在 Java 界裡只有 Appfuse 有做這樣的整合。Rails 預設是用 MySQL,是我最討厭的資料庫之一。二話不說換成 postgreSQL,這當中也花了不少時間摸索... 如果撇開資料庫的設定不談,Rails 一開始馬上就能上工。

其實說起來還挺膚淺的,我是個很懶得coding的人,因此看到這種「似乎」可以讓我在短時間速成一個簡單網站的玩意兒,我是挺心動的。言下之意是後來發現並非如此:p,最近每天跟Ruby on Rails搏鬥,我認為要把這個架構寫得漂亮還是需要一點經驗與技巧,我還太淺了orz

anyway,當時這位用Ruby on Rails開發訂便當系統的Java狂,隨後用spring, hibernate等Java Framework開發了訂便當網站,有興趣的可以看他當初發表的這篇「日常小工具 - 訂便當管理系統~」,剛好這篇文章底下有一段由william發表的comment提到:

你對 Ruby + Rails 的熟悉度,當然比不上對 Java + wicket/spring/hibernate/etc 的熟悉;但換一個角度想想:同樣都會花你兩三天完成一個應用系統(當然啦,在改寫成後者時你多加了 AJAX 及 test),前者的技術要花多少時間來學,後者的技術組合又要花多少時間來學呢(learning curve 很重要)?前者的技術要寫多少程式及設定、同步,後者的技術組合又是如何?

說真的,現在看到這樣的說法實在是心有戚戚焉,事實上我從來沒有去認真寫過什麼Java的程式,我一直都是個.NET developer,我的工作、專題都是以.NET Framework為主,玩Ruby on Rails則是閒暇時的娛樂之一,我認為Ruby on Rails的確是個非常容易入門、容易上手的Framework,比起微軟總是把軟體搞得好像很容易入門、但接下來就不知道該怎麼辦,Ruby on Rails對於開發一般的web網站來說,我認為是相當足夠的,對MVC pattern有概念、對Rails所設定的Controller, Action, Model, View, Helper, Scaffold, Migration等概念有所瞭解之後,很快就可以開發出一個簡單的網站;然而,Ruby on Rails現在有個問題是有可能當你遇到問題的時候,未必找得到解決的方法 :p。

至於ASP.NET,雖然入門容易、提供的元件乍看之下都很簡易,但如果本身對於.NET Framework的熟悉度不夠,我認為學習過程中是非常容易遇到學習瓶頸的,我想這大概就是學習曲線的差異吧:p

References