Ajax技術是否即將沒落?

來源:互聯網
上載者:User

在孟岩老師11月21日的blog(http://blog.csdn.net/myan/archive/2006/11/21/1402346.aspx)中說他驚豔於微軟公司新近推出的介面開發工具Expression,並且預言基於Web標準(通常即XHTML+CSS+javascript)的介面開發技術很快就會沒落。孟岩預測:“最遲不超過2008年,在WPF、Flash(Apollo)等RIA技術的夾攻之下,越來越多的Web應用將同時部署傳統Web頁面和新的RIA UI。”

對於這個預測,我和一些朋友認為孟岩老師過於樂觀了。我預測至少到2010年,基於Web標準的介面開發技術仍然將是Web介面開發的主流技術,而這些技術的集大成者就是Ajax。Ajax技術在最近兩年中取得了很大的發展,並且仍然在迅速發展的過程中,現在就斷言Ajax技術即將沒落還為時尚早。

誠然,從純技術的角度來看,我們也早就認為XUL/XAML一類使用XML來描述介面組件和布局的技術肯定是Web介面開發技術的發展趨勢。W3C今年成立了一個工作群組,希望將XUL、XAML、MXML等幾種介面描述語言統一為一種標準的格式(http://www.w3.org/2006/appformats/)。所以我們認為孟岩老師所看到的趨勢是沒有大問題的。從純技術的角度來看,將來的Web介面開發肯定會發展到這種技術。

然而,能看到趨勢當然很重要,但是我們還是需要解決很多現實的問題。我在這裡提出幾個問題來與大家探討。

第一個問題是:這種趨勢將會以多快的速度成為現實?

技術的發展和演化往往都是一個長期的過程。物件導向開發取代面向過程開發、Java取代C++、Ruby逐漸取代Java都是一個長期的過程。孟岩老師所預測的2年和我所預測的4年似乎相差不大,但是對於我們現階段所要採取的行動其實影響很大。

即使正如孟岩老師所預言的,這確實是技術發展的趨勢又能怎樣?我們是否一定要在今天為明天和後天發生的事情而買單。過早為將來發生的事情買單,很可能會代價高昂。這跟炒股差不多,有經驗的玩家會在最適當的時機入手。過早入手、過晚入手,都會蒙受損失。在這種趨勢成為現實之前,我們是否坐等共產主義的實現?我認為等待並不是一種積極的態度。

第二個問題是:Ajax有何優點?

我認為孟岩老師並沒有充分地看到Ajax的優點。孟岩說:“昨天我還在說Ajax是過渡技術,沒想到幾個小時之後就得到印證。” 其實嚴格說來,任何的技術都可以稱為是過渡技術,但是這並不會妨礙使用這種技術來為使用者創造價值。孟岩只看到了使用基於Web標準的介面開發技術開發效率低下的一面。但是目前國內做介面開發的開發人員有多少人真正理解了Web標準呢?根據筆者的經驗,採用完全的CSS布局,將頁面的結構、表現、行為三部分分離開,注重頁面各部分的重用。經過一段時間的積累之後,基於Web標準的介面開發完全可以達到比較理想的開發效率。而配合使用Dojo、Scriptaculous、YUI等成熟的Ajax組件庫,還可以更進一步提高介面的開發效率。在筆者看來,影響開發效率的問題主要有兩個方面:

1 Web介面開發人員沒有充分理解Web標準。
2 Web介面開發人員沒有嘗試過組件化的開發方式。
相對於其他技術而言,Ajax最大的優點有這三點:

1 Ajax是完全基於Web標準的技術,Ajax所用到的所有的技術都是真正的Web標準。
2 Ajax應用可以毫無障礙地部署到幾乎所有的案頭電腦上。
3 Ajax應用的開發和部署成本很低。
對於第一個優點,有人可能會爭論說,標準其實並不重要。例如EJB 2.x是標準又如何,現在不是也一樣被拋棄了嗎?但是這兩種標準是不可相提並論的。EJB的標準在推出之時,完全沒有經過開發實踐的檢驗,與開發實踐嚴重脫節。然而Web標準卻是從開發實踐中積累而來的。Ajax所基於的這些Web標準都是先有了非常成熟的應用和成功的商業案例之後才會形成標準。Web標準之所以成為了今天這個樣子,是經得起曆史考驗的。如同TCP/IP標準一樣,它仍然會長期沿用下去。

第二個優點其實是第一個優點所派生的。上世紀90年代末,在Web標準組織和W3C的不懈努力下,結束了瀏覽器大戰,各種瀏覽器都承諾支援真正的Web標準。今天這種支援到了開花結果的時候,結出的果實就是誕生了一種稱作Ajax的新技術。正是因為今天所有主流的瀏覽器都已經能夠很好地支援Web標準(通常即XHTML+CSS+JavaScript),而幾乎所有案頭電腦上都安裝了某種主流的瀏覽器(IE、Firefox/Mozilla、Opera、Safari、etc.),因此Ajax應用可以無痛地部署到幾乎所有的案頭電腦上。儘管今天不同的瀏覽器對於Web標準某些部分的理解還略有歧義,實現上略有差異。但是只要基於成熟的組件庫來做開發,這些差異可以被最小化,已經不會成為開發的障礙。

如果我在這兩三年內想建立一個電子商務網站,卻只能部署到幾百萬個安裝了XAML render引擎的使用者機器上(而不是像Ajax那樣幾乎所有的案頭電腦)。除非我的腦子壞掉了,我不會做出這樣的選擇。對於面向互連網的應用而言,基於真正Web標準來做開發,並且隨著Web標準及其瀏覽器實現的發展而演化,是實現最大商業利益的必然選擇。

Ajax應用可以被部署到幾乎所有案頭電腦上這個事實是其他所有技術多年來夢寐以求而不可達的烏托邦。另外一種現實的選擇是Flash UI,Flash的部署範圍也已經達到了足以大規模應用的程度。出於現實的商業考慮,我在幾年之內都不會選擇基於XAML建造我們的應用,除非它的部署範圍達到了某個臨界值,並且有朝一日成為真正的Web標準。

第三個優點是因為,開發Ajax應用所需要的工具幾乎全部都是開源軟體,可以免費獲得,因此不必花錢去購買昂貴的開發工具。其實開發簡單的Ajax應用,一個主流的瀏覽器,再加上一個文字編輯器就已經足夠了。只要你所開發的代碼品質足夠高,Ajax應用的部署可以達到完全的零成本。

第三個問題是:基於瀏覽器和Web標準的開發技術是否一定會沒落?

我和孟岩老師的一個主要的分歧在於,我並不認為基於瀏覽器和Web標準的開發技術一定會沒落。其實早在3年之前,當我嘗試基於XMLHttpRequest來設計我們的架構和開發我們的應用時,當時已經有很多人預言基於HTML(或者XHTML)+JavaScript的開發方式必然會很快沒落,對於我對JavaScript如此熱衷很不理解。但是幾年過去了,這種開發技術非但沒有沒落,反而煥發出了勃勃的生機。這是在其沒落或滅亡之前的迴光返照嗎?至少在我看來並不是這樣,而是有其內在的規律。正是因為上面我所說到的這種開發技術的優點,今天幾乎所有的Web使用者都在使用這種技術。有龐大使用者量廣泛使用的技術必然會不斷髮展,而不可能很快沒落。其實XAML最終是否會取代Ajax,這並不是一個純技術的考量,而是涉及到整個Web應用生態系統的遷移。今天90%以上(我的保守估計)的Web應用都建立在基於Web標準的介面開發技術之上,輕言這種技術在兩年之內必然會沒落是不嚴肅的。單靠微軟等幾個大公司想要扭轉這種長期以來自然形成的狀況,談何容易?我認為不大可能。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.