1.背景、形勢 能夠進(jìn)行Web開發(fā)的編程語言和技術(shù)很多 (1) 動態(tài)解釋語言 PHP; Perl; Python (Zope, Plone); Ruby (Ruby on Rails); (2) 編譯語言 Java; .net Java Web開發(fā)遠(yuǎn)非一枝獨(dú)秀: 除了受到來自.net 這個重量級對手的最大挑戰(zhàn)之外,更受到Zope, Ruby on Rail 等新式輕騎兵的沖擊(當(dāng)然,也繼續(xù)受到老式輕步兵PHP, Perl的沖擊)。 官方Java走的是復(fù)雜路線,Servlet -> JSP -> Taglib。.net走的也是復(fù)雜路線,依靠成熟友好的集成化開發(fā)環(huán)境取勝。Java陣營好容易應(yīng)對過來,從紛紜復(fù)雜的各種開發(fā)框架基礎(chǔ)上,發(fā)展出了重 量級Web開發(fā)框架JSF,以及相應(yīng)的集成化開發(fā)環(huán)境;渴望以此應(yīng)對.net的攻勢。勝負(fù)未分,前途未卜。這時,另一個方向又殺來了新式輕騎Zope, Ruby on Rail。 Python, Ruby等動態(tài)解釋語言,面向?qū)ο筇匦愿?,先天支?動態(tài)綁定、AOP、函數(shù)式編程、“編程即配置”等時髦概念。開發(fā)速度更快,代碼量更小,達(dá)到killer級別。 傳統(tǒng)的HTML Web開發(fā)領(lǐng)域里面,Java已經(jīng)是腹背受敵。領(lǐng)域外也展開了征戰(zhàn),Rich Client Architecture的興起:AJAX(XMLHttp), Flash RIA, XUL, XAML, Smart Client(以及從前的ActiveX, Applet, Web Start)。 Web的發(fā)展趨勢是 語義Web,最終目的是讓整個Web成為一個巨大的數(shù)據(jù)庫。 這意味著,未來的Web應(yīng)用將更加的面向文本內(nèi)容數(shù)據(jù),更加搜索引擎友好 – Search Engine Friendly. 二進(jìn)制的客戶端插件,如Flash RIA, ActiveX, Applet, Web Start等,雖然交互性能最好,但不是以文本內(nèi)容數(shù)據(jù)為中心,搜索引擎不友好。所以,我只是保持適當(dāng)關(guān)注。我更關(guān)注基于文本的UI表現(xiàn),如HTML, XUL, XAML等。XUL, XAML還沒有廣泛流行,只是保持一種有興趣的關(guān)注。 當(dāng)下關(guān)注的重點(diǎn),還是 XHTML + CSS + Javascript少量的 AJAX(XMLHttp)增加更好的交互性。 我一直認(rèn)為:輕量、簡潔、高效 才是硬道理。后面闡述我對Java Web開發(fā)的理解和構(gòu)想。 |