征服RIA:基于JavaScript的Web客户端开发
基本信息
编辑推荐
业内一线专家倾情奉献...
几乎涵盖了基于Javascript开发RIA的所有层面,相信不管新手还是高手都会从中受益。
内容简介回到顶部↑
本书旨在向读者介绍以javascript为核心的ria开发。.
全书共分为5篇。javascript基础篇:介绍javascript的语法和基础应用。如果不打算深究javascript幕后机制的话,运用本篇的知识便能胜任一般的javascript开发了。javascript高级篇:揭示javascript的运行机理和高级应用,如面向对象编程、函数式编程和元编程。ajax篇:ajax是上帝赐予javascript的礼物。凭借着ajax,javascript拥有了异步调度服务端业务逻辑的能力。本篇除介绍ajax原理和通用框架之外,还分别为从事java和.net开发的程序员安排了适合他们的dwr、atlas框架。ext篇:能否提供复杂用户界面,是ria的一个重要判定标准。在本书中,笔者把这一重任交给了ext。希望读者能够基于ext开发出不输给桌面程序的web应用。增值篇:增值篇是本书的华彩乐章。在这一篇中,读者将看到javascript如何游刃有余地整合各种技术流派,包括flash、applet、silverlight、activex等,如何开发反向ajax程序、comet程序和具备离线能力的程序。..
本书适合javascript初学者、从事javascript开发,寻求进阶的前端开发人员、web前端架构师阅读,也可作为大中专院校相关专业的教材。...
全书共分为5篇。javascript基础篇:介绍javascript的语法和基础应用。如果不打算深究javascript幕后机制的话,运用本篇的知识便能胜任一般的javascript开发了。javascript高级篇:揭示javascript的运行机理和高级应用,如面向对象编程、函数式编程和元编程。ajax篇:ajax是上帝赐予javascript的礼物。凭借着ajax,javascript拥有了异步调度服务端业务逻辑的能力。本篇除介绍ajax原理和通用框架之外,还分别为从事java和.net开发的程序员安排了适合他们的dwr、atlas框架。ext篇:能否提供复杂用户界面,是ria的一个重要判定标准。在本书中,笔者把这一重任交给了ext。希望读者能够基于ext开发出不输给桌面程序的web应用。增值篇:增值篇是本书的华彩乐章。在这一篇中,读者将看到javascript如何游刃有余地整合各种技术流派,包括flash、applet、silverlight、activex等,如何开发反向ajax程序、comet程序和具备离线能力的程序。..
本书适合javascript初学者、从事javascript开发,寻求进阶的前端开发人员、web前端架构师阅读,也可作为大中专院校相关专业的教材。...
作译者回到顶部↑
目录回到顶部↑
第一部分 javascript基础篇.
第1章 javascript基础 2
1.1 javascript概述 2
1.1.1 javascript的特点 2
1.1.2 javascript的局限性 3
1.2 从网页中引用javascript 5
1.2.1 定义脚本语言的类型 5
1.2.2 调用外部脚本文件 6
1.3 创建javascript文件 7
1.4 javascript注释 9
第2章 javascript语法 11
2.1 javascript变量 11
2.1.1 在脚本中定义变量 11
2.1.2 变量类型 13
2.1.3 数据类型之间的转换 13
2.1.4 存取变量 14
2.2 javascript函数 15
2.2.1 定义函数 15
2.2.2 输入参数 16
2.2.3 函数输出值 18
第1章 javascript基础 2
1.1 javascript概述 2
1.1.1 javascript的特点 2
1.1.2 javascript的局限性 3
1.2 从网页中引用javascript 5
1.2.1 定义脚本语言的类型 5
1.2.2 调用外部脚本文件 6
1.3 创建javascript文件 7
1.4 javascript注释 9
第2章 javascript语法 11
2.1 javascript变量 11
2.1.1 在脚本中定义变量 11
2.1.2 变量类型 13
2.1.3 数据类型之间的转换 13
2.1.4 存取变量 14
2.2 javascript函数 15
2.2.1 定义函数 15
2.2.2 输入参数 16
2.2.3 函数输出值 18
前言回到顶部↑
RIA是什么.
RIA是Rich Internet Application的缩写,意为富互联网应用,引申为富客户端应用。那么,RIA意味着什么呢?在回答这个问题之前,我们不妨先回顾一下从大型主机时代开始,应用软件系统发展至今所走过的历程:
图中的两个坐标轴,分别代表Rich和Reach,即应用软件的界面表现力和应用软件所能影响到的人群。
1.主机时代,界面表现力和用户数量无疑是最低的。少量的用户使用哑终端操作计算机。
2.随着计算机制造成本的降低,尤其是个人计算机的普及,使得软件行业出现了一种新的部署结构:客户机负责提供丰富的用户界面、承担业务逻辑,在服务器上集中存储数据。这一阶段被称为C/S(Client/Server)时代。
3.C/S结构最大的问题是部署和维护成本极高,一旦用户界面或者业务逻辑发生变化,便需要更新分布在每一台客户机上的软件。因此,B/S(Browser/Server)结构应运而生。在B/S结构中,客户端程序统一运行在Web浏览器中,用户界面由服务器程序渲染生成,客户端程序只负责展现。部署成本的降低,使得应用软件的用户数量激增:互联网能达到的地方,都可能出现你的用户。
4.B/S结构至今被人褒贬不一。首先,客户机的计算能力几乎被废弃了,这是一种浪费;其次,用户界面的表现能力受制于Web浏览器,比起C/S结构发生了倒退。那么,能否创造一种在应用软件的界面表现力和部署成本之间双赢的局面呢?这就是所谓的RIA。
富客户端应用也称胖客户端应用,是相对于B/S时代的瘦客户端应用而言的。在RIA时代,一个运行于Web浏览器中的客户端应用,要上升为富客户端应用,应该具备三个条件:
不输给桌面应用的、具有丰富效果的复杂用户界面。
有能力调度服务端的业务逻辑,自行组装所需要的用户界面,而不是一味地由服务端渲染生成用户界面。
在一定程度上突破Web浏览器的限制。例如,在必要时能接收服务器推送来的数据,这意味着打破“浏览器请求、服务器响应”的单调格局。又例如,在必要时能在客户端存储部分数据——这是无与伦比的一次跨越,一旦拥有存储能力,富客户端应用便能在离线状态下继续为用户提供服务。
JavaScript能为RIA做什么
接下来,我们从技术方面分析RIA所能选择的实现手段。笔者归纳,致力于富客户端这一技术领域的IT厂商大致可以划分为以下4个阵营。
微软阵营:鉴于微软是个人计算机操作系统的最大供应商,出于强化个人计算机地位的初衷,一直致力于富客户端应用开发技术的研发,这一点从其新近于.NET Framework 3.0中集成的WPF,伴随着Windows Vista推出的Windows边栏Gadgets,以及Silverlight等概念中便可见一斑。再加上原有的.NET WinForm、Win32 Application、ActiveX等,微软真不愧是乐此不疲的客户端应用开发技术的“高产户”。其中的ActiveX和Silverlight属于Web浏览器插件技术,非常有可能在RIA市场上抢到一些份额。
Adobe阵营:Adobe紧锣密鼓地推出Apollo计划,在其集成开发环境Flex Builder中,使用ActionScript既能开发运行于Flash Player中的Flash,又能开发运行于桌面的AIR应用。由于Flash已经无处不在,Adobe是非常令人看好的一股力量。..
Sun阵营:提到Sun的大名,自然令人想到Java。没有人奢望JavaFX及SWT/Swing/AWT能撼动微软和Adobe,但是在桌面应用方面形成三足鼎立的局面还是值得期待的。在浏览器应用方面,Applet和Java Web Start已经积累下一些成功案例。
Google、Mozilla阵营:Google是云计算和SaaS(Software as a Service)的领导厂商;Mozilla则拥有技术领先的Web浏览器。这是唯一没有推出自己的桌面应用开发技术,而把全部的赌注押在Web上的阵营。JavaScript+HTML+CSS的组合,远没有Silverlight和WPF看起来那么光彩照人,也不像Apollo计划那么活力四射。但是,正是这一组合,让微软不由得发出“Silverlight最大的对手是JavaScript”的感慨。也正是凭借着这一组合,Google开发出了GMap、GMail、GTalk等令人大开眼界的应用。出于自信,Google认为,未来RIA的平台标准已经确立了,那就是Web。
在琳琅满目的实现方式中,JavaScript在其中巧妙地穿针引线,扮演着“黏合剂”的作用。JavaScript与各种浏览器插件技术(Silverlight、ActiveX、Flash、Applet)均拥有互操作能力,无论这种插件技术是主流的、还是生僻的,是传统的、还是现代的。
JavaScript是唯一不需安装任何插件,便被各大主流Web浏览器支持的动态脚本,可谓拥有天然的跨平台性。未来之RIA,必是以JavaScript为核心!
本书的内容
RIA是Rich Internet Application的缩写,意为富互联网应用,引申为富客户端应用。那么,RIA意味着什么呢?在回答这个问题之前,我们不妨先回顾一下从大型主机时代开始,应用软件系统发展至今所走过的历程:
图中的两个坐标轴,分别代表Rich和Reach,即应用软件的界面表现力和应用软件所能影响到的人群。
1.主机时代,界面表现力和用户数量无疑是最低的。少量的用户使用哑终端操作计算机。
2.随着计算机制造成本的降低,尤其是个人计算机的普及,使得软件行业出现了一种新的部署结构:客户机负责提供丰富的用户界面、承担业务逻辑,在服务器上集中存储数据。这一阶段被称为C/S(Client/Server)时代。
3.C/S结构最大的问题是部署和维护成本极高,一旦用户界面或者业务逻辑发生变化,便需要更新分布在每一台客户机上的软件。因此,B/S(Browser/Server)结构应运而生。在B/S结构中,客户端程序统一运行在Web浏览器中,用户界面由服务器程序渲染生成,客户端程序只负责展现。部署成本的降低,使得应用软件的用户数量激增:互联网能达到的地方,都可能出现你的用户。
4.B/S结构至今被人褒贬不一。首先,客户机的计算能力几乎被废弃了,这是一种浪费;其次,用户界面的表现能力受制于Web浏览器,比起C/S结构发生了倒退。那么,能否创造一种在应用软件的界面表现力和部署成本之间双赢的局面呢?这就是所谓的RIA。
富客户端应用也称胖客户端应用,是相对于B/S时代的瘦客户端应用而言的。在RIA时代,一个运行于Web浏览器中的客户端应用,要上升为富客户端应用,应该具备三个条件:
不输给桌面应用的、具有丰富效果的复杂用户界面。
有能力调度服务端的业务逻辑,自行组装所需要的用户界面,而不是一味地由服务端渲染生成用户界面。
在一定程度上突破Web浏览器的限制。例如,在必要时能接收服务器推送来的数据,这意味着打破“浏览器请求、服务器响应”的单调格局。又例如,在必要时能在客户端存储部分数据——这是无与伦比的一次跨越,一旦拥有存储能力,富客户端应用便能在离线状态下继续为用户提供服务。
JavaScript能为RIA做什么
接下来,我们从技术方面分析RIA所能选择的实现手段。笔者归纳,致力于富客户端这一技术领域的IT厂商大致可以划分为以下4个阵营。
微软阵营:鉴于微软是个人计算机操作系统的最大供应商,出于强化个人计算机地位的初衷,一直致力于富客户端应用开发技术的研发,这一点从其新近于.NET Framework 3.0中集成的WPF,伴随着Windows Vista推出的Windows边栏Gadgets,以及Silverlight等概念中便可见一斑。再加上原有的.NET WinForm、Win32 Application、ActiveX等,微软真不愧是乐此不疲的客户端应用开发技术的“高产户”。其中的ActiveX和Silverlight属于Web浏览器插件技术,非常有可能在RIA市场上抢到一些份额。
Adobe阵营:Adobe紧锣密鼓地推出Apollo计划,在其集成开发环境Flex Builder中,使用ActionScript既能开发运行于Flash Player中的Flash,又能开发运行于桌面的AIR应用。由于Flash已经无处不在,Adobe是非常令人看好的一股力量。..
Sun阵营:提到Sun的大名,自然令人想到Java。没有人奢望JavaFX及SWT/Swing/AWT能撼动微软和Adobe,但是在桌面应用方面形成三足鼎立的局面还是值得期待的。在浏览器应用方面,Applet和Java Web Start已经积累下一些成功案例。
Google、Mozilla阵营:Google是云计算和SaaS(Software as a Service)的领导厂商;Mozilla则拥有技术领先的Web浏览器。这是唯一没有推出自己的桌面应用开发技术,而把全部的赌注押在Web上的阵营。JavaScript+HTML+CSS的组合,远没有Silverlight和WPF看起来那么光彩照人,也不像Apollo计划那么活力四射。但是,正是这一组合,让微软不由得发出“Silverlight最大的对手是JavaScript”的感慨。也正是凭借着这一组合,Google开发出了GMap、GMail、GTalk等令人大开眼界的应用。出于自信,Google认为,未来RIA的平台标准已经确立了,那就是Web。
在琳琅满目的实现方式中,JavaScript在其中巧妙地穿针引线,扮演着“黏合剂”的作用。JavaScript与各种浏览器插件技术(Silverlight、ActiveX、Flash、Applet)均拥有互操作能力,无论这种插件技术是主流的、还是生僻的,是传统的、还是现代的。
JavaScript是唯一不需安装任何插件,便被各大主流Web浏览器支持的动态脚本,可谓拥有天然的跨平台性。未来之RIA,必是以JavaScript为核心!
本书的内容
媒体评论回到顶部↑
这是一本观点鲜明的优秀技术图书。互联网客户端开发技术层出不穷,本书作者在不遗余力地推广这样的观点:未来的互联网应用客户端开发平台已经确定,那就是Web,而JavaScript在其中将发挥极其关键的黏合作用。.
——JavaScript脚本时代(http://www.javascript.com.cn)站长 支进省...
——JavaScript脚本时代(http://www.javascript.com.cn)站长 支进省...







点击看大图







加载中...
