TechTarget中国网站推荐

JavaScript,Ajax Web服务客户端语言

2008-4-22  选择字号:  | |
打印本文章
正在加载数据... 【TechTarget中国原创】最近,JavaScript的热点集中体现在Ajax (asynchronous JavaScript and XML)之中的J,但是作为一种脚本语言,它已经流行了好几年了。这种脚本语言诞生自Netscape公司Web浏览器的"LiveScript",它处于浏览器的环境中并控制着浏览器的显示。在Netscape公司加入了Java applet功能后,一些市场专家决定把LiveScript更名为JavaScript。结果,由于二者在语法上非常接近,导致了好多年的混淆。

  在与Netscape浏览器竞争的时候,Microsoft发明了自己的脚本语言,称为Jscript。它是造成开发人员一直到今天都不能在浏览器之间兼容的根源。第一个技术标准被称为ECMA-262,原本是想提供一个通用的API。

【TechTarget中国原创】最近,JavaScript的热点集中体现在Ajax (asynchronous JavaScript and XML)之中的J,但是作为一种脚本语言,它已经流行了好几年了。这种脚本语言诞生自Netscape公司Web浏览器的"LiveScript",它处于浏览器的环境中并控制着浏览器的显示。在Netscape公司加入了Java applet功能后,一些市场专家决定把LiveScript更名为JavaScript。结果,由于二者在语法上非常接近,导致了好多年的混淆。

  在与Netscape浏览器竞争的时候,Microsoft发明了自己的脚本语言,称为Jscript。它是造成开发人员一直到今天都不能在浏览器之间兼容的根源。第一个技术标准被称为ECMA-262,原本是想提供一个通用的API。正规的说,我们应该把JavaScript称为ECMAScript,不过从来都没有用过。Ecma International是一个标准化组织,从前被成为European Computer Manufacturers Association(欧洲计算机制造商协会)。

  作为创建丰富用户体验的技术,JavaScript比起其它的技术,例如Flash、ActiveX和Java applets等,都有很多的优势。因为JavaScript可以连接到所有组成Web页面的元件,而其自身的发展也从所有技术中收益,例如已经演变成创建现代Web浏览器的CSS。

  文档对象模型和XHTML

  文档对象模型又称为DOM,它使JavaScript可以定位、改变内容以及展示HTML页面的所有元素。可惜,早期的浏览器发展并没有一个DOM标准,所以每个厂商都有自己的DOM终端。W3C官方说明书中的"Level 1"和"Level 2" DOM推荐书都被现代浏览器所实现,使得Ajax的发展成为可能。XHTML是对HTML的一个简单细化,它通过强制XML语法使得使用HTML标签具有更大程度的预描述性。

  级联样式表

  CSS的核心思想就是把表示层的控制与HTML元素内容分离开来。当被正确应用后,CSS提供了站点中所有页面展示的一致性、使得编辑更加简单、同时也减低了传送带宽。“级联”原则使通用的风格被特定目的的风格所覆盖。JavaScript能够直接操纵控制CSS表示的DOM元件。尽管有CSS的官方W3C推荐书,但是对于DOM的浏览器兼容性并非100%。

  事件与异步需求

  JavaScript的一个关键特性就是在对事件的响应中执行代码。例如,当用户的鼠标经过时,按钮等HTML元素外观要发生改变。因为有一个onmouseover()函数被指定到这个按钮。这种情况下,所有的动作对于浏览器就是本地的。

  JavaScript异步获得Web服务或其它数据的关键工具就是XMLHttpRequest。JavaScript在自身的执行线程中给出这样的一个请求,因此当请求对象在等待一个响应时,所有一般浏览器事件处理都可以使用。程序员必须使用一个函数来自动地在不同的端点处理请求时调用。最终,要么得到一个错误信息,要么得到完整的响应。

  如果服务器以XML文档的方式发送文本,请求会返回一个DOM对象,从这个对象中可以用处理HTML的JavaScript方法来抽取数据。然后,当这个数据被接受或者在被需要的时候持有时,它可以被HTML页面中现有的文本所取代。

  编写JavaScript

  作为一种脚本语言,JavaScript能够被浏览器拥有的翻译器执行。尽管比可执行的编译代码慢,但它也是Ajax应用程序的优点。因为程序可以被汇编成多种源代码。Ajax使得你可以把JavaScript数据唯一地与。标准库代码和标准CSS风格样式一样,能够被Web浏览器缓存,用于降低带宽。

  Ajax的潜在问题

  在过去那种为单个Web网页而做的JavaScript编程和Ajax编程之间有一个很重要的区别。在很多人的Ajax应用程序编程中,一个单独的Web网页可以拥有可扩展的JavaScript代码和对象集合用于当HTML数据被载入和动态展示时的扩展阶段。这与过去那种新Web网页需要新代码和频繁对象载入的使用模式非常不同。尽管JavaScript从被丢弃的对象中恢复内存,但编写不好的代码还是有可能持有对象引用而造成“内存泄露”。这种错误不会在短期的页面中造成问题,但对于具有长生命周期的页面来说就会有问题。

  出于安全原因,JavaScript通常被限制从宿主发出请求来提供Web页面。因此,如果你想从各种Web服务中连接资源,你就必须好好设计系统使得服务器发出请求并延迟发送到JavaScript客户端的数据。

  另一个潜在的问题是搜索引擎的索引。因为通过Ajax与用户交互而动态产生的内容不能被搜索引擎机器人看到。

  工具

  你不应该在没有浏览器工具来尝试Ajax。因为浏览器工具可以让你检查HTML页面的DOM表示。Firefox浏览器很理想,因为它有一个菜单项就是“DOM检查器”。该DOM检查器能让你浏览页面的层次结构,包括JavaScript和CSS元素。此外,还有很多Firefox插件可以用来调试JavaScript。

  每当一种新的技术获得公众和产业界的青睐时,就会出现很多满足需求的供应商。很多连接了JavaScript库的Ajax工具集和定制的用户接口组件不断出现。其中一些是商用的而另一些是开源的。这个领域变化太快,我很难提供什么建议。

还没有登录? 阅读全文请先登录或注册
用户名:(请填写您的E-mail做为登录账号)
  • 获取最新的IT业界资讯、市场动态、行业趋势等独家原创内容。
  • 分享国内外技术专业人士提供的技巧经验。
  • 利用专注IT的技术资源中心,不断更新专业知识。
  • 享受白皮书、Webcast等系列特色增值服务。
  • 免费参加TT中国举办的各种会员活动。
  • 更多的精彩服务,在不断开发中……
用户名:(请填写您的E-mail)
密 码:
 永久登录
请输入您的登录email:
当今,各个企业都在想方设法提高自己的生产效率,并且对IT资产的重组也都在努力的探索当中。借助于面向服务的架构(SOA)技术,IT组织已经在克服这些问题方面取得了……
有效结合Ajax技术和SOA并进一步实现的丰富企业级应用产品能够直接赋能于最终用户,让其掌握强大的功能。之所以能出现这种情况的原因在于,REA应用会更多的与潜在……
我发现很难确定Web 2.0供应商之间的分歧。似乎他们在其营销时都使用相同的buzzwords:Ajax,Web 2.0,RIA,mashups。在这个空间是否有任何特定的产品分类……
SOA从一个概念到企业多层次IT的应用已经取得了很大的进步。SOA在UI(用户界面)层的应用是SOA最新的应用趋势……
Ajax作为一种技术传达着使用者更为丰富的使用经验从而受到广泛的赞美。但是XMLHttpRequest的使用真的能确保安全……
面向服务的架构(SOA)是一种基于可以重用的服务的,新的开发应用的架构体系. 近年来, 企业界对于SOA的需求越来越急切. 为了满足这样的需求, 一系列的SOA基础架构产品被推出. 主要的厂商如Oracle, BEA System, IBM都提供了SOA平台产品. 在一个包含各类应用的复杂的IT系统中, 要使用适配器并且在一个符合业务需求的流程中将各类应用串连在一起是一个非常困难的事情, 但是现在的SOA平台将困难转变成了容易。
Web 2.0是2003年之后互联网的热门概念之一,不过对什么是Web2.0并没有很严格的定义。一般来说Web 2.0是相对Web1.0的新的一类互联网应用的统称。
Ruby on Rails, 也称RoR或简称Rails, 是一个使用Ruby语言写的开源网络应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。
最新更新
专家答疑
技巧
Jason Bloomberg
企业是否应该意识到,云计算有许多积极因素,是否也有负面影响呢?重要的是要记住,云计算仍然非常新,而且在许多方面比vaporware更现实……
Ron Schmelzer,Jason Bloomberg
我们正在进入多元化的银行和金融服务,我们处理客户关系管理CRM,BI,遗产系统,产品J2EE和.NET和其他异构平台。如果我们想要转移到一个共同的平台,为什么要选择SOA……
Ed Tittel
在您最近的博客中提到,在XML.com中有你喜欢的XML内容。关于XML的信息还可通过什么途径可以得到?请与我们分享更多的来源……