征服RIA

出版時(shí)間:2009-3  出版社:電子工業(yè)出版社  作者:涂傳濱,楊先亭 著  頁(yè)數(shù):503  
Tag標(biāo)簽:無(wú)  

前言

  RlA是什么  RIA是Rich Intemet Application的縮寫,意為富互聯(lián)網(wǎng)應(yīng)用,引申為富客戶端應(yīng)用。那么,RIA意味著什么呢?在回答這個(gè)問(wèn)題之前,我們不妨先回顧一下從大型主機(jī)時(shí)代開始,應(yīng)用軟件系統(tǒng)發(fā)展至今所走過(guò)的歷程:  圖中的兩個(gè)坐標(biāo)軸,分別代表Rich和Reach,即應(yīng)用軟件的界面表現(xiàn)力和應(yīng)用軟件所能影響到的人群?! ?.主機(jī)時(shí)代,界面表現(xiàn)力和用戶數(shù)量無(wú)疑是最低的。少量的用戶使用啞終端操作計(jì)算機(jī)?! ?.隨著計(jì)算機(jī)制造成本的降低,尤其是個(gè)人計(jì)算機(jī)的普及,使得軟件行業(yè)出現(xiàn)了一種新的部署結(jié)構(gòu):客戶機(jī)負(fù)責(zé)提供豐富的用戶界面、承擔(dān)業(yè)務(wù)邏輯,在服務(wù)器上集中存儲(chǔ)數(shù)據(jù)。這一階段被稱為C/S(Client/Server)時(shí)代?! ?.C/S結(jié)構(gòu)最大的問(wèn)題是部署和維護(hù)成本極高,一旦用戶界面或者業(yè)務(wù)邏輯發(fā)生變化,便需要更新分布在每一臺(tái)客戶機(jī)上的軟件。因此,B/S(Browser/Server)結(jié)構(gòu)應(yīng)運(yùn)而生。在B/S結(jié)構(gòu)中,客戶端程序統(tǒng)一運(yùn)行在Web瀏覽器中,用戶界面由服務(wù)器程序渲染生成,客戶端程序只負(fù)責(zé)展現(xiàn)。部署成本的降低,使得應(yīng)用軟件的用戶數(shù)量激增:互聯(lián)網(wǎng)能達(dá)到的地方,都可能出現(xiàn)你的用戶。

內(nèi)容概要

  《征服RIA:基于JavaScript的Web客戶端開發(fā)》旨在向讀者介紹以JavaScript為核心的RIA開發(fā)?!墩鞣IA:基于JavaScript的Web客戶端開發(fā)》共分為5篇。JavaScript基礎(chǔ)篇:介紹JavaScript的語(yǔ)法和基礎(chǔ)應(yīng)用。如果不打算深究JavaScript幕后機(jī)制的話,運(yùn)用本篇的知識(shí)便能勝任一般的JavaScript開發(fā)了。JavaScript高級(jí)篇:揭示JavaScript的運(yùn)行機(jī)理和高級(jí)應(yīng)用,如面向?qū)ο缶幊?、函?shù)式編程和元編程。Ajax篇:Ajax是上帝賜予JavaScript的禮物。憑借著Ajax,JavaScript擁有了異步調(diào)度服務(wù)端業(yè)務(wù)邏輯的能力。本篇除介紹Ajax原理和通用框架之外,還分別為從事Java和.NET開發(fā)的程序員安排了適合他們的DWR、Atlas框架。Ext篇:能否提供復(fù)雜用戶界面,是RIA的一個(gè)重要判定標(biāo)準(zhǔn)。在《征服RIA:基于JavaScript的Web客戶端開發(fā)》中,筆者把這一重任交給了Ext。希望讀者能夠基于Ext開發(fā)出不輸給桌面程序的Web應(yīng)用。增值篇:增值篇是《征服RIA:基于JavaScript的Web客戶端開發(fā)》的華彩樂(lè)章。在這一篇中,讀者將看到JavaScript如何游刃有余地整合各種技術(shù)流派,包括Flash、Applet、Silverlight、ActiveX等,如何開發(fā)反向Ajax程序、Comet程序和具備離線能力的程序。

作者簡(jiǎn)介

  涂傳濱,1999年畢業(yè)于南昌大學(xué)。擁有多年的企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn),現(xiàn)任廈門三五互聯(lián)科技股份有限公司技術(shù)專家,從事基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)研發(fā)。研究范圍包括基于互聯(lián)網(wǎng)的信息分享技術(shù)、應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)、應(yīng)用集成、軟件過(guò)程等。在CN級(jí)刊物上發(fā)表論文多篇,從2004年底開始技術(shù)書籍的寫作?! 〈碇鳎骸  毒↗Builder 2005》(合著)  《WebSphere開發(fā)與管理》  《深入淺出JDK 6.0》  楊先亭,早年于廈門時(shí)義浩維科技有限公司擔(dān)任Web開發(fā)工程師、Web前端架構(gòu)師以及SEO工程師?,F(xiàn)任廈門三五互聯(lián)科技股份有限公司軟件設(shè)計(jì)師,從事基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)研發(fā)。多年來(lái)致力于Web前端架構(gòu)以及JavaScript技術(shù)研究。目前關(guān)注軟件架構(gòu)、軟件過(guò)程、系統(tǒng)安全。

書籍目錄

第一部分 JavaScript基礎(chǔ)篇第1章 JavaScript基礎(chǔ)1.1 JavaScript概述1.1.1 JavaScript的特點(diǎn)1.1.2 JavaScript的局限性1.2 從網(wǎng)頁(yè)中引用JavaScript1.2.1 定義腳本語(yǔ)言的類型1.2.2 調(diào)用外部腳本文件1.3 創(chuàng)建JavaScript文件1.4 JavaScript注釋第2章 JavaScript語(yǔ)法2.1 JavaScript變量2.1.1 在腳本中定義變量2.1.2 變量類型2.1.3 數(shù)據(jù)類型之間的轉(zhuǎn)換2.1.4 存取變量2.2 JavaScript函數(shù)2.2.1 定義函數(shù)2.2.2 輸入?yún)?shù)2.2.3 函數(shù)輸出值2.3 JavaScript運(yùn)算符2.3.1 概述2.3.2 算術(shù)運(yùn)算符2.3.3 賦值運(yùn)算符2.3.4 比較運(yùn)算符2.3.5 邏輯運(yùn)算符2.3.6 位運(yùn)算符2.3.7 運(yùn)算順序2.4 條件與循環(huán)語(yǔ)句2.4.1 條件語(yǔ)句的定義2.4.2 條件語(yǔ)句2.4.3 循環(huán)語(yǔ)句的定義2.4.4 循環(huán)語(yǔ)句第3章 事件與對(duì)象3.1 事件句柄3.1.1 事件句柄的定義3.1.2 常用事件句柄3.1.3 其他事件3.1.4 動(dòng)態(tài)添加事件響應(yīng)3.2 JavaScript對(duì)象3.2.1 什么是對(duì)象3.2.2 創(chuàng)建對(duì)象3.2.3 JavaScript內(nèi)置的瀏覽器對(duì)象3.2.4 對(duì)象方法劫持第4章 常用對(duì)象4.1 JavaScript數(shù)組4.1.1 數(shù)組的含義4.1.2 定義和操作數(shù)組4.1.3 Array對(duì)象的屬性4.1.4 Array對(duì)象的方法4.1.5 關(guān)聯(lián)數(shù)組4.1.6 數(shù)組應(yīng)用舉例——記憶腳本動(dòng)作4.2 數(shù)學(xué)和日期對(duì)象4.2.1 數(shù)學(xué)對(duì)象4.2.2 數(shù)學(xué)對(duì)象的屬性4.2.3 數(shù)學(xué)對(duì)象的方法4.2.4 日期對(duì)象4.3 字符串4.3.1 字符串對(duì)象簡(jiǎn)介4.3.2 字符串對(duì)象的屬性4.3.3 字符串對(duì)象的方法4.3.4 正則表達(dá)式第5章 JavaScript與瀏覽器5.1 document對(duì)象5.1.1 document對(duì)象簡(jiǎn)介5.1.2 document對(duì)象的屬性5.1.3 document對(duì)象的方法5.1.4 訪問(wèn)本地文件系統(tǒng)5.2 window對(duì)象5.2.1 window對(duì)象簡(jiǎn)介5.2.2 window對(duì)象的屬性5.2.3 window對(duì)象的方法5.3 JavaScript與表單5.3.1 表單存取5.3.2 表單元素的屬性5.3.3 表單元素的方法5.3.4 表單的提交5.4 JavaScript與框架5.4.1 框架簡(jiǎn)介5.4.2 框架的選項(xiàng)5.4.3 定位框架5.4.4 操作框架第二部分 JavaScript高級(jí)篇第6章 JavaScript面向?qū)ο缶幊?.1 對(duì)象的多態(tài)性6.1.1 自定義對(duì)象的多態(tài)性6.1.2 內(nèi)置對(duì)象的多態(tài)性6.2 對(duì)象的創(chuàng)建6.2.1 使用內(nèi)置對(duì)象6.2.2 使用JSON符號(hào)6.2.3 自定義對(duì)象構(gòu)造6.3 對(duì)象的繼承6.3.1 原型鏈繼承6.3.2 使用apply、call方法6.3.3 對(duì)象實(shí)例間的繼承6.4 對(duì)象成員的可見性第7章 JavaScript數(shù)據(jù)類型7.1 數(shù)據(jù)類型7.1.1 Number7.1.2 String7.1.3 Boolean7.1.4 Undefined7.1.5 null7.1.6 復(fù)合類型7.2 數(shù)據(jù)類型轉(zhuǎn)換7.2.1 轉(zhuǎn)換為Number7.2.2 轉(zhuǎn)換為String7.2.3 轉(zhuǎn)換為Boolean7.3 數(shù)據(jù)的傳遞7.3.1 值傳遞7.3.2 引用傳遞第8章 JavaScript函數(shù)對(duì)象8.1 JavaScript Function對(duì)象8.1.1 Function對(duì)象的屬性和方法8.1.2 定義Function8.2 閉包8.2.1 閉包的應(yīng)用8.2.2 避免閉包引發(fā)的問(wèn)題8.3 函數(shù)式編程8.3.1 函數(shù)式編程的思想8.3.2 函數(shù)式編程的原理8.3.3 函數(shù)式編程的應(yīng)用8.4 元編程8.4.1 元編程的思想8.4.2 元編程的應(yīng)用第9章 JavaScript運(yùn)行機(jī)制9.1 作用域鏈(Scope Chian)9.1.1 從var說(shuō)起9.1.2 Scope Chain是什么9.2 原型鏈(Prototype Chain)9.3 兩個(gè)隱式對(duì)象9.3.1 this9.3.2 Global第10章 JavaScript正則表達(dá)式10.1 正則表達(dá)式基礎(chǔ)10.1.1 元字符10.1.2 元字符操作優(yōu)先級(jí)順序10.1.3 貪婪匹配與非貪婪匹配10.1.4 分組10.1.5 反向引用10.2 RegExp和正則表達(dá)式對(duì)象10.2.1 RegExp對(duì)象10.2.2 正則表達(dá)式對(duì)象10.3 NFA和DFA正則表達(dá)式引擎第三部分 Ajax篇第11章 Ajax概述11.1 Ajax的由來(lái)11.2 傳統(tǒng)的Web運(yùn)用11.3 Ajax的工作原理11.4 Ajax的優(yōu)點(diǎn)與缺陷第12章 Ajax用到的技術(shù)12.1 HTML與XHTML12.1.1 HTML、XHTML與Ajax12.1.2 HTML基礎(chǔ)12.1.3 XHTML基礎(chǔ)12.2 XML12.3 JSON12.3.1 JSON與Ajax12.3.2 JSON基礎(chǔ)12.4 CSS12.4.1 CSS與Ajax12.4.2 使用CSS的方法12.4.3 CSS語(yǔ)法12.5 JavaScript12.6 DOM與DHTML12.6.1 DOM、DHTML與Ajax12.6.2 操作HTML、XHTML文檔12.6.3 操作XML文檔12.7 HTTP12.8 XmlHttpRequest對(duì)象12.8.1 XmlHttpRequest對(duì)象與Ajax12.8.2 XmlHttpRequest對(duì)象簡(jiǎn)介第13章 Ajax開發(fā)簡(jiǎn)略13.1 如何使用Ajax13.1.1 初始化對(duì)象13.1.2 指定響應(yīng)函數(shù)13.1.3 發(fā)出HTTP請(qǐng)求13.1.4 處理服務(wù)器返回的信息13.2 字符亂碼處理13.2.1 字符集13.2.2 字符編碼13.2.3 實(shí)例13.3 prototype.js13.3.1 通用性方法13.3.2 Ajax對(duì)象13.4 MooTools第14章 適用于Java的Ajax 框架——DWR14.1 DWR簡(jiǎn)介14.2 DWR的回調(diào)機(jī)制14.3 DWR的異常機(jī)制14.4 DWR內(nèi)核14.5 DWR的配置14.5.1 Web.xml的配置14.5.2 dwr.xml的配置14.5.3 DWR的WebContext14.6 DWR應(yīng)用實(shí)例14.7 利用DWR實(shí)現(xiàn)反向Ajax第15章 適用于.NET的Ajax 框架——Atlas15.1 在Visual Studio 2005中手工開發(fā)Ajax應(yīng)用15.2 在Visual Studio 2005中設(shè)置Atlas框架環(huán)境15.3 Atlas例程第四部分 Ext篇第16章 Ext概述16.1 組件模型16.1.1 組件的創(chuàng)建16.1.2 組件的渲染16.1.3 組件的銷毀16.2 容器模型16.3 布局模型16.4 Ext核心16.4.1 Ext16.4.2 Observable16.4.3 MixedCollection16.4.4 總結(jié)第17章 Ext數(shù)據(jù)操作17.1 數(shù)據(jù)傳輸17.2 數(shù)據(jù)處理17.2.1 數(shù)據(jù)訪問(wèn)代理Ext.data.DataProxy17.2.2 數(shù)據(jù)解析器Ext.data.DataReader17.3 數(shù)據(jù)模型第18章 Ext組件18.1 所有組件的始祖Ext.Component18.1.1 Xtype18.1.2 Ext的UI組件庫(kù)18.1.3 Ext.Component的主要屬性18.1.4 Ext.Component的主要方法18.2 容器組件的始祖Ext.BoxComponent18.2.1 Ext.Container18.2.2 Ext.Panel18.3 表格相關(guān)組件18.3.1 GridPanel18.3.2 TabPanel18.4 菜單相關(guān)組件18.4.1 TreePanel18.4.2 ToolBar18.4.3 Menu18.5 表單相關(guān)組件18.5.1 FormPanel18.5.2 BasicForm18.5.3 Field18.5.4 FieldSet18.6 窗口相關(guān)組件18.6.1 Window18.6.2 MessageBox18.7 Ext組件小結(jié)第19章 Ext布局19.1 Ext.Element19.2 Ext.EventManager19.3 Ext.DomQuery19.4 布局管理器19.4.1 ContainerLayout19.4.2 FitLayout19.4.3 TableLayout19.4.4 AnchorLayout19.4.5 BorderLayout19.4.6 ColumnLayout19.4.7 Accordion19.4.8 CardLayout19.4.9 AbsoluteLayout19.4.10 FormLayout第五部分 增值篇第20章 基于JavaScript的 ASP開發(fā)20.1 ASP簡(jiǎn)介20.2 Request內(nèi)置對(duì)象20.3 Response內(nèi)置對(duì)象20.4 Cookie內(nèi)置對(duì)象20.5 Session內(nèi)置對(duì)象20.6 Application內(nèi)置對(duì)象20.7 Global.asa文件20.8 Server內(nèi)置對(duì)象20.9 數(shù)據(jù)庫(kù)操作20.9.1 創(chuàng)建數(shù)據(jù)源20.9.2 數(shù)據(jù)庫(kù)連接對(duì)象20.9.3 結(jié)果集對(duì)象20.10 用Visual Basic開發(fā)ASP對(duì)象第21章 用JavaScript操作Silverlight21.1 Silverlight簡(jiǎn)介21.2 Silverlight簡(jiǎn)單例程21.3 用JavaScript創(chuàng)建Silverlight控件第22章 Windows平臺(tái)上的HTML組件與腳本宿主22.1 HTC22.1.1 HTC簡(jiǎn)介22.1.2 簡(jiǎn)單的HTC22.1.3 動(dòng)態(tài)設(shè)置HTC屬性22.1.4 HTC事件22.2 HTA22.3 JSE22.4 WSH與WSF22.4.1 WSH22.4.2 WSF第23章 用JavaScript制作 COM組件23.1 COM組件簡(jiǎn)介23.2 用JavaScript編寫COM組件的步驟23.3 用JavaScript編寫COM組件的實(shí)例第24章 用JavaScript操作ActiveX插件24.1 ActiveX簡(jiǎn)介24.2 在網(wǎng)頁(yè)中靜態(tài)嵌入ActiveX插件24.2.1 IE窗口的最大化和最小化24.2.2 大量數(shù)據(jù)的裝載24.3 在網(wǎng)頁(yè)中動(dòng)態(tài)創(chuàng)建ActiveX插件24.3.1 HTML頁(yè)面與Word之間交換數(shù)據(jù)24.3.2 WebDAV客戶端24.4 ActiveX插件開發(fā)實(shí)例24.4.1 開發(fā)ActiveX Control24.4.2 開發(fā)ActiveForm第25章 Java與JavaScript 的互操作25.1 Java Applet開發(fā)25.1.1 Applet簡(jiǎn)介25.1.2 為Applet簽名25.2 用JavaScript操作Applet25.3 用Applet操作JavaScript125.4 Java與JavaScript的結(jié)合25.4.1 Java支持腳本語(yǔ)言的意義25.4.2 Java對(duì)JavaScript的支持25.4.3 測(cè)試腳本的工具第26章 JavaScript與ActionScript的互操作26.1 JavaScript控制Flash26.1.1 通過(guò)Flash Player26.1.2 通過(guò)ExternalInterface.addCallBack方法26.2 Flash控制JavaScript26.2.1 使用ExternalInterface.call方法26.2.2 使用getURL26.2.3 使用fscommand26.3 XMLSocket與Java服務(wù)端通信第27章 Comet(Server Push)模式27.1 Comet模式的原理27.2 Comet模式的客戶端實(shí)現(xiàn)27.2.1 域內(nèi)Push27.2.2 跨域Push27.2.3 總結(jié)27.3 Jetty服務(wù)器提供的Continuations API第28章 基于Google Gears 開發(fā)離線應(yīng)用28.1 Google Gears簡(jiǎn)介28.2 未啟用Google Gears之前的在線應(yīng)用28.3 啟用Google Gears之后的離線應(yīng)用28.3.1 離線訪問(wèn)網(wǎng)頁(yè)28.3.2 離線存儲(chǔ)數(shù)據(jù)28.4 Google Gears的影響第29章 用XSLT轉(zhuǎn)換XML 數(shù)據(jù)島29.1 XML簡(jiǎn)介29.1.1 XML文檔規(guī)則29.1.2 DTD29.1.3 XML Schema29.1.4 驗(yàn)證XML文檔的有效性29.2 XSL簡(jiǎn)介29.2.1 XSLT29.2.2 XPath29.2.3 XSL-FO29.3 轉(zhuǎn)換XML文檔29.4 轉(zhuǎn)換XML數(shù)據(jù)島29.4.1 例程一29.4.2 例程二第30章 JavaScript開發(fā)工具箱30.1 JavaScript單元測(cè)試工具JSUnit30.2 JavaScript調(diào)試工具30.2.1 Firebug30.2.2 IEDevToolBar30.2.3 HttpWatch30.2.4 Venkman30.3 正則表達(dá)式工具附錄A Gadgets開發(fā)概覽

章節(jié)摘錄

  第一部分 JavaScript基礎(chǔ)篇  第1章 JavaScript基礎(chǔ)  JavaScript是一種描述性的動(dòng)態(tài)語(yǔ)言,它最初是由Netscape開發(fā)的。其最早的意圖僅僅在于為網(wǎng)頁(yè)開發(fā)人員控制頁(yè)面元素、實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)提供便利。但自從Web2.0的概念誕生以來(lái),加之Ajax的大行其道,JavaScript更加炙手可熱。時(shí)至今日,JavaScript技術(shù)已被推到極致,它被應(yīng)用到各種B/S架構(gòu)的項(xiàng)目中、網(wǎng)站開發(fā)中,甚至應(yīng)用到一些嵌入式設(shè)備中,以至于連Java這樣的擅長(zhǎng)于服務(wù)端開發(fā)的語(yǔ)言也主動(dòng)加入對(duì)JavaScript的支持。  本章主要內(nèi)容:  JavaScript概述  從網(wǎng)頁(yè)中引用JavaScript  創(chuàng)建JavaScript文件  JavaScript注釋  JavaScript給Web客戶端開發(fā)帶來(lái)強(qiáng)大的功能,但本節(jié)并不介紹JavaScript的編程細(xì)節(jié),只是闡述JavaScript的一些基本概念。這些概念對(duì)于進(jìn)一步學(xué)習(xí)是十分必要的,特別是對(duì)于其中的一些概念很多初學(xué)者極易混淆。下面從JavaScript的特點(diǎn)、JavaScript的局限性,以及如何在網(wǎng)頁(yè)中使用JavaScript等幾個(gè)方面把讀者帶入JavaScript的世界。  1.1 Java Script概述  隨著Internet飛速發(fā)展,Internet網(wǎng)頁(yè)制作已成為計(jì)算機(jī)培訓(xùn)的重要內(nèi)容之一。在大型軟件工程項(xiàng)目中,編寫網(wǎng)頁(yè)時(shí)往往結(jié)合使用JavaScript、HTML與Java Applet、ActiveX、Flash、Silverlight等插件技術(shù)。HTML語(yǔ)言是網(wǎng)頁(yè)編輯的基礎(chǔ),通過(guò)它可以創(chuàng)建網(wǎng)頁(yè)中的各種元素,例如文本、圖像、列表、表格、交互界面等;JavaScript是一種功能強(qiáng)大的語(yǔ)言,運(yùn)用Java Script可以控制HTML頁(yè)面,對(duì)頁(yè)面中某些事件做出響應(yīng),例如在用戶單擊按鈕時(shí)展現(xiàn)按鈕從按下到彈起的整個(gè)過(guò)程,在用戶提交數(shù)據(jù)時(shí)進(jìn)行有效性驗(yàn)證及數(shù)據(jù)查找等;插件則嵌套在HTML中,和HTML完美地結(jié)合在一起,使網(wǎng)頁(yè)成為聲音、圖像和動(dòng)畫集成的Web頁(yè)面。

媒體關(guān)注與評(píng)論

  這是一本觀點(diǎn)鮮明的優(yōu)秀技術(shù)圖書?;ヂ?lián)網(wǎng)客戶端開發(fā)技術(shù)層出不窮,本書作者在不遺余力地推廣這樣的觀點(diǎn):未來(lái)的互聯(lián)網(wǎng)應(yīng)用客戶端開發(fā)平臺(tái)已經(jīng)確定,那就是Web,而JavaScript在其中將發(fā)揮極其關(guān)鍵的黏合作用?!  狫avaScript腳本時(shí)代站長(zhǎng)支進(jìn)省

編輯推薦

  《征服RIA:基于JavaScript的Web客戶端開發(fā)》適合JavaScript初學(xué)者、從事JavaScript開發(fā),尋求進(jìn)階的前端開發(fā)人員、Web前端架構(gòu)師閱讀,也可作為大中專院校相關(guān)專業(yè)的教材。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    征服RIA PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7