2006年10月2日

資訊爆炸中…

目前看來 Java,尤其是 Java EE 這個領域,最大的問題在於 framework 的百家爭雄。framework 的本意在於增加開發速度,然而學習 framework 本身就是很麻煩的一件事情。尤其就一個典型的 web application 而言,至少一定會接觸到 persistence frameworks 還有 web frameworks. 光是這兩個選擇就很多了,更遑論 Java EE 裡頭那一大堆雜七雜八的玩意。

可是,要做到這些事情真有這麼難嗎?如果把 framework 想像成 library,以前寫 C 時搞懂一個 library 也不需要多久,man pages 拿出來全部 K 一遍就行了。但 framework 通常不只是提供一大堆可用的 code,顧名思義,他還牽涉到許多設定,要順利的使用,還必須搞懂隱含在架構中的邏輯-這可就不是小事情了。

我毋寧相信回到最素樸的 computer science 應該還是最重要的。例如看到 JSP Model 1 or Model 2 ,如果不念懂 MVC pattern ,恐怕還是霧裡看花。然而要搞通 MVC,恐怕也不得不好好學習一下 design pattern 的觀念。從基礎念起的話,我相信不同的 framework 應該只是「用」的不同,而「體」仍然一以貫之。

就目前來看,首先要把一個典型 Java EE 的 web application 結構搞通。然後如 struts 這類的 framework 是如何產生作用,程式流程為何就會比較清楚。接下來就是 survey 不同的 framework,挑定學習對象,最後評估怎樣的組合會是最快速的開發方式。

目前候選人大概有 struts + spring + hibernate ,這組合或許可用 appfuse 加以簡化。問題是 wicket + spring + hibernate 看起來也很棒... 搞懂 appfuse 加上 appfuse 省下的時間,值不值得直接換到 wicket?這個問題目前仍不知何解。

沒有留言 :

張貼留言