`
ihuashao
  • 浏览: 4767697 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Ajax光环背后的隐患

阅读更多
自从Jesse James Garrett创造了Ajax这个名词,到现在已经过去十八个月了,AJAX几乎让Web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括Web 2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。很明显,AJAX这个名词受到开发业界的广欢迎,已经真正的走入到我们生活中,Web应用程序也达到前所未有的发展。

  然而我们大多数人知道,其实在AJAX这个术语诞生前,这项技术的发展就已经为人们所熟知了。之所以AJAX的思想能迅速占据我们的头脑,因为它向我们指出了一个重要的新开发方向,AJAX技术可以说到了爆发的时间。强大功能的浏览器、高速带宽的网络连接、在线软件的趋势和开发工具的发展,这一切注定了AJAX的流行,但是在这些荣誉的光环背后关于Ajax的讨论或争论也一直没有停止过。

  一直以来,Web开发社区关于Ajax方方面面的事情一直在争论不体,包括它的强大和不足、合适的应用和不可避免的缺陷等。我想我也应该分享一下我的观点,对于过去十八个月里让Web和浏览器焕发生机的AJAX技术,谈一下我的看法。AJAX的确帮助我们走向了下一代主流软件平台,它在创建个人或商业应用等方面,已经超越了传统的软件开发平台,以下仅仅是我的个人观点。

  1、 不为浏览器而生的Ajax

  如果你是一个网络高手,你对Ajax一定不会陌生,从先前默默无闻到现在火爆发展,不可不称为这是一个奇迹,Ajax在五年前并没有向今天这样让人们所熟知,因为他不并是为浏览器而生的一种技术,Ajax低效的代码编写方式,同时也没有强大的第三方开发工具支持,要想设计出清晰的javascript软件,不经过严格的训练和努力是无法实现的,而且在不同的浏览器里调试Ajax,是一件非常令人头疼的事情。

  2、量身订做自已的Web服务需求

  我一直认为Ajax要开发许多新的Web服务,来满足应用程序数据和后端存储的需要。实际上,对于那些没有正规的Web服务架构的服务终端项目,更倾向于使用HTML或简单的传统的HTTP POST。这样就使得人们可以非常容易的转向Ajax开发,可以在后端轻松的重用已经存在的HTTP服务,而不是转向复杂的SOAP或REST/WOA等。尽管这可能导致体系结构的混乱,可能会对日后带来一些麻烦,但它的确可以让人们非常轻松的转向AJAX开发提供条件。

  3、Ajax比传统Web设计和开发更棘手

  HTML界面约定的丧失性、隐藏或潜在功能的无限制性、编程创建页面元素非声明性、以及其他一些Ajax的内在特性,这些特性都与传统的Web设计和开发方式背道而弛,Ajax并且要求Web设计者必须对DOM、Javascript和CSS的技术有相当的功底,对于一个传统的Web开发者来说还没有一条更便捷的路可以选择,同时也没有一款能够让开发变简单的开发工具,我们期待Ajax能够在Web开发中更易懂、更高效。

  4、Ajax工具和组件仍在不断出现,现今还没有明显的领先者。

  Ajax工具和组件满天飞,不像Eclipse一枝独秀,统领全雄,虽然Dojo在这个领域有很好的口碑,但这些成绩还是远远不够的。例如,Dojo框架目前的版本依然是0.3版。而且紧随其后的种种工具,框架和组件库还有很多,其优点和Dojo不相上下。Dojo的优势还不名显,开发人员面对如此多的选择往往是投其所好,所以在工具和组件方面还没有绝对的领先者可供选择。

  5、优秀的Ajax 程序员很难找。

  有人说曾经说过一个优秀的Java开发人员好找,但是一个优秀的Ajax人才,却是比登天还难,虽然此语有些太过,但是我们不难看出,要建造一个复杂的Ajax应用要远比Web设计技能难得多,而且很多有经验的开发人员都不太喜欢JavaScript编程和调试,这种情况自然就形成了Ajax优秀人才的缺少。

  6、必须积极地对付浏览器模型对Ajax的限制。

  Ajax技术并非Web开发完美结合的产物,它有几个致命的弱点,一个是它会违反现有的Web模型,譬如,加书签,后退按钮等等。另外,Ajax也缺乏桌面软件的的很多强处,譬如能离线运行,访问本地硬盘存储等,但Flash 的本地存储和即将发行的Apollo平台能应付这类问题,Ajax要想再次成为众的焦点,解决上述问题刻不容缓。

  7、Ajax 只是成功RIA策略的一个因素。

  如果你想让Ajax实现更多的在线功能,那么你必须将类似Flex,OpenLaszlo,以及WPF/E等这样的RIA平台放在考虑范围之内,然而Ajax对此几乎无能为力。然而Ajax并未停止前进的脚步,特别是在后端服务器向服务器端推送、Web服务和企业环境的支持等,这也是Ajax在RIA策略上的成功的一个因素。

  当然,软件项目应该知道的事情还有很多,还有许多其他的事情,以上是我认为比较重要的事情。受到全球面向服务价格体系增长的影响,在线AJAX组件正在不断的出现,例如Google Maps等,,Ajax的技术也在不断理新,道琼斯新闻曾报道IBM、Google、雅虎、甲骨文等IT巨头联手支持Open Ajax计划。IBM、Google、雅虎、甲骨文和BEA系统等许多高科技公司宣布共同支持一个开源软件计划,旨在推广一种名为“Ajax”的新兴的Web开发技术,有了这些IT大享们的加入,解决上述七个问题应该指日可待。
分享到:
评论

相关推荐

    AJAX也有安全隐患.doc

    然而,在享受AJAX带来的便利的同时,我们也必须正视其背后隐藏的安全隐患。 #### 一、AJAX技术简介 AJAX技术通过在客户端使用JavaScript与服务器进行异步通信,实现了Web页面的部分更新,避免了整个页面的重新加载...

    AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX

    AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX

    Ajax中文手册 API

    很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...

    ajax代码 ajax代码

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...

    AjaxRequest(Ajax使用包)

    **AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...

    Ajax从入门到精通.pdf

    首先,要学习Ajax,就必须了解它是什么,以及它背后的技术原理。Ajax,即“异步JavaScript和XML”,它允许网页动态地更新,而无需重新加载整个页面,从而加快了响应时间并减少了网络带宽的消耗。 Ajax技术涉及多种...

    谷歌浏览器插件—— Ajax Interceptor

    **Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许...同时,了解其背后的技术原理,如AJAX、Chrome扩展机制以及JavaScript,将有助于提升整体的前端技能。

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...

    jquery+ajax例子

    在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...

    Ajax(Ajax使用js包)

    使用Ajax实现从服务器读取数据,包括Ajax实现的详细步骤

    Java Ajax分页,jsp ajax分页

    Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...

    ajax教程

    **Ajax 教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验,尤其是在数据...

    ajax 基础教程源代码

    ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础...

    php+ajax例子

    标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...

    Ajax快车道 Ajax快车道

    Ajax快车道 Ajax快车道 Ajax快车道 Ajax快车道

    ajax调用xml ajax调用html

    ajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用...

    ajax+json实例

    **Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...

    Ajax应用程序的安全隐患分析与防范.pdf

    Ajax应用程序的安全隐患分析与防范.pdf

    掌握Ajax 学习资料pdf

    掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...

Global site tag (gtag.js) - Google Analytics