zoukankan      html  css  js  c++  java
  • Ajax: Plenty of Room for Improvement(三大不足,Ajax技术尚需完善)

    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

  • 相关阅读:
    [NOI2008] 糖果雨
    [NOI2006] 神奇口袋
    [NOI2014] 购票
    Prince and Princess HDU
    Network POJ
    CodeForces
    Codeforces Global Round 12
    Codeforces Round #688 (Div. 2)
    [USACO05DEC]Layout G
    # Technocup 2021
  • 原文地址:https://www.cnblogs.com/meil/p/719510.html
Copyright © 2011-2022 走看看