Posted on 2006-09-08 01:51
govo 阅读(301)
评论(0) 编辑 收藏
在javaworld上我问了一个问题:
当我们有了Ajax了,基本所有页面都可能用Html为文件后缀了,TAG不用写了,<%%>符号也不用写了,那么,我们还用得着Struts或JSF吗?
然后热心的大虾kebin_liu 给我指点了迷津,现在把他的话抄下:
用一句俗語來解釋會比較容易瞭解,那就是『殺雞焉用牛刀』。
Struts等 web framework算是牛刀,那AJAX就是殺雞小刀,殺雞小刀能不能取代牛刀?當然可以,只是用起來會不順手不方便而已。但反過來牛刀能不能取代小刀?答案是沒辦法完全取代,因為會有死角。
web framework適合處理web ap的運作流程,而AJAX適合資料傳輸與頁面處理,如果從所有的web ap說穿了就只是資料傳輸與頁面處理的角度去思考,的確會認為AJAX可以替代一切 web framework。只是當一切都改用 AJAX來處理的時候,開發的工作勢必變得零碎繁瑣,就像用小刀殺牛,最終牛一定會死,但是操刀者辛苦不說,那頭牛也飽受凌遲。
而因為 web framework無法處理純粹頁面部分的控制,所以不管有沒有AJAX,web ap都離不開 script,因為 web framework有這個死角,所以說webframework無法取代 AJAX。
再用一個比喻,web framework就像是建築的主體,AJAX則是裝潢,一個結構穩固又適度裝潢的房子,才是最舒適的居住空間。只有裝潢的房子,其實就是樣品屋,雖然也可以住人,但是結構畢竟不穩。而過渡裝潢或沒有裝潢的房子,一樣讓人住起來不舒服。
總之,web framework是架構面,AJAX則偏重於UI處理,二者的角色是相輔相成才對,並沒有互相衝突。不管有沒有AJAX,不用 framework本來就還是可以開發 web ap,但我們從來就不會因此說 framework是多餘的,有了AJAX也是一樣的。