RoR (Ruby on Rails)是新崛起的網站應用開發“框架(framework)”,以能迅速開發網路應用聞名。但對於已經習慣了PHP語法的我來說,Ruby語言實在過於簡化,而且依賴很多特殊的“符號(如<, ::, ?, @)”以及對於整個程式語法都很不習慣。加上Rails框架設計野心很大,整體架構也很龐大,很多魔法般的應用讓人對於整個MVC框架中,指令與資料的來龍去脈難以掌握。因此即使花了幾個月斷斷續續K了“敏捷網站開發(Agile Web Development with Rails)”還是沒看完,對於RoR的整體架構還是如入五里雲般,更別提什麼敏捷開發了。因此,不僅又回頭考慮,是不是該回頭好好研究比較熟悉的PHP程式,然後找一個好用的框架如Zend或CakePHP來應用。
PHP語言也許不如Ruby的簡潔與完全的物件導向,但畢竟發展時間比較久,多數大型網站的程式還是使用PHP而不是Ruby。此外也考慮到,AMP(Apache, MySQL & PHP)在多數Linux為基礎的網路儲存伺服器(NAS)上還是主流。拿一台內建AMP的簡易的NAS,如Synology或Qnap的產品作快速雛形網站測試,然後再搬遷到實際的網路伺服器,效率應該也不會比在伺服器上架構RoR差。更何況支援AMP的網路供應商,要比起RoR來得多很多。因此,選擇PHP來開發網站,現階段來說還是有很多優勢,尤其是對於已經熟悉PHP語法的人來說。
程式架構的選擇
在短暫的RoR學習中,了解它有幾項設計特性:
- 是考慮到資料庫的獨立性而不依賴特定的資料庫程式;
- 是資料架構(schema )設計與資料庫遷移(migrations)的便利性;
- 避免轉寫重複或類似功能的程式碼;
- 考慮未來發展大型網站的擴充性等等。
不過可惜的是,CakePHP的英文書不多,中文資訊更是不足,正體中文書好像完全沒有,台灣的使用者好像也不多。官方的文件本身就有很多部份沒說清楚,中文版更是殘缺不全。一堆API的文件是用外掛自動產生的內容過於簡短,缺乏像PHP官方網站上的應用範例,而許多由網友撰寫的範例則是放在麵包店(bakery)裡。這些因素,造成CakePHP這塊美味的蛋糕,在台灣好像一直乏人問津的樣子。
但是經過這幾天實際的嘗試學習時,還真的是覺得甜美無比。尤其是在OSX上,使用MAMP這個簡易的AMP伺服器,以及以Eclipse為基礎,對OSX系統優化提升以執行效率,搭配OSX優美界面版的免費IDE:Aptana。發現只要經過適當的調教,可以讓CakePHP的開發,在Aptana裡如RoR般簡單,命令列指令也少得多了。
接下來解說在OSX10.5/10.6上,如何整合MAMP,Aptana與CakePHP,進行網站開發。
下一篇 MAMP >
沒有留言:
張貼留言