Ajax: Plenty of Room for Improvement(三大不足,Ajax技術尚需完善)

來源:互聯網
上載者:User

While Ajax has set the world on fire and caused a renaissance in user experience, it is not the best Rich Internet Application (RIA) technology available today. The technology, or “approach” as some like to say, suffers from serious problems. First, it’s not completely portable across browsers. While most Ajax functionality works fine across Firefox and Microsoft IE, its not 100%. People initially enthusiastic about Ajax as a cross platform de facto standard quickly discover the corner cases where functionality that works well in Microsoft IE, doesn’t work in Firefox and vice versa. And don’t even talk about Opera and Safari! While I’m confident that the enormous momentum around Ajax will force browser providers to fix these inconsistencies, as it stands today there are still interoperability problems. Adobe’s Flex 2 platform, which is based on the Flash player, doesn’t have this problem. Adobe is the only provider of the plug-in, so the implementation is consistent across browsers. In addition, adoption of newer versions of the Flash Player is wickedly fast compared to consistent adoption of new Ajax standards (e.g. CCS, JavaScript, DOM). The same can be said for Java: the Java Plug-in is provided by Sun Microsystems and provides a consistent presentation across browsers.

Another area where Ajax really needs to advance is in terms of tooling. While there are some nice Ajax development tools coming out of vendors such as Microsoft, Backbase, TIBCO, and Nexaweb – the truth is Ajax IDEs are still pretty primitive compared to what we have for Java and Adobe’s Flex 2. In fact, given a choice I would much rather work with Adobe Flex 2 than Ajax simply because the tooling is much better. While the Ajax IDE market is still underdeveloped, the number of code-level Ajax frameworks and APIs available today is ridiculous. At my last count (August 2006) there were something like 160 Ajax frameworks. The other day someone told me – this is not been substantiated – that number is closer to 300 today. While I like the Apache adage, “let a thousand flowers bloom” there is a point where the sheer diversity of options is anti-productive to the industry as a whole.

Here is another problem with Ajax, it’s not very deep. Compare the JavaScript libraries included in even the best Ajax toolkits with the Java Platform, Standard Edition. Ajax pales in comparison when it comes to the number of features and functionality. Although the hundreds of JavaScript libraries available today may collectively provide as much functionality as Java SE, including them all in a development environment and picking among redundant libraries make it impossible for Ajax to complete with Java today in terms of platform breadth.

There are today three leading platforms for developing Rich Internet Applications: Ajax, Adobe Flash Player (with Adobe Flex 2 or OpenLaszlo), and Java Plug-in (used with Java applets). None of these solutions are perfect – they all offer some advantage over the others. The fact that Ajax has ignited a renewed interest in making the Web a much better user experience is to be applauded, but don’t confuse the hype around the technology with the basic facts about the strengths and weakness of Ajax compared to its counterparts, Adobe Flex and the Java Plug-in. Ajax is good, but there is plenty of room for improvement.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
譯文:

三大不足,Ajax技術尚需完善

 

當前Ajax已經成為了一項熱門技術,並隨之帶來了對使用者體驗關注的迴歸,然而,它並不是當前最好的RIA技術。Ajax技術,或者說是“方法”,就象一些人說的那樣,正面臨著一些突出的問題。

第一,不完全支援跨瀏覽器運行。

雖然目前大多數Ajax能在Firefox和Microsoft IE瀏覽器下正常工作,但也還不是100%。人們最初對於Ajax的激情就是認為它能跨平台運行在任何瀏覽器上,但事實上人們很快發現它只能在微軟的IE下工作,並不支援Firefox,更不用說Opera和Safari了。雖然我深信圍繞著Ajax的大量問題將促使瀏覽器供應商們去解決這些不協調,但實至今日,Ajax仍然存在著跨平台啟動並執行問題。而於此,基於Flash播放器的Adobe’s Flex 2卻並不存在這個問題。Adobe是僅有的一家嵌入式介面供應商,一直致力於在跨瀏覽器中平台中的應用。此外,新推出Flash版本播放器很快就具備了新的Ajax標準(例如CSS,JavaScript,DOM)。同樣的產品也適用於Java,由Sun公司提供的 Java Plug-in也能夠跨瀏覽器運行。

第二,Ajax需要改進的另外一個實質性問題是開發工具。雖然有一些諸如Microsoft, Backbase, TIBCO和Nexaweb推出的開發工具,但相對於Java和Adobe’s Flex 2,真正的Ajax IDE仍然非常落後。事實上,我更傾向於使用Adobe Flex 2而非Ajax的原因僅僅是因為Adobe Flex 2的開發工具更方便些。在當前Ajax IDE市場尚未成熟,卻出現了相當數量的編碼層級的Ajax架構作品和API,這一情況是非常荒謬的。據我統計(截止2006 4月)至少就有了160個Ajax架構作品。有一天,周圍的人告訴我,我的統計並不全面,這一數字現在已經接近300了。正象我喜歡的那句Apache的格言:“千花齊放”,純粹的選擇多樣化對於整個業界的發展來說並不是有利的。

第三,Ajax還存在著另一個問題,它並不深入。以所包含的JavaScript類庫為例,即使用當前最完善的Ajax工具與Java標準版做比較,在個人化和功能方面Ajax也顯得很蒼白。在Java標準版本中加進了數以百計的JavaScript類庫,並在開發環境下使用它們和選擇冗餘標籤,要使Ajax在平台寬度方面和當前的Java競爭也不太可能。

 在當前RIA技術發展過程中,主要有三個平台:Ajax,Adobe Flash Player (包括Adobe Flex 2 或OpenLaszlo),Java Plug-in(與Java applets一起使用)。目前還沒有一種解決方案是完美的,它們各自都有比對方好的優點:事實上,Ajax最值得稱讚的亮點在於它使得頁面獲得更好的使用者體驗,而不應圍繞在其自身的優缺點,在與其同類技術Adobe Flex和Java Plug-in比較中迷失方向。

總之,Ajax是好的,但還有很多方面應該繼續改善。

原文連結:http://rmh.blogs.com/weblog/2007/04/ajax_plenty_of_.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.