出版時(shí)間:2012-3 出版社:清華大學(xué)出版社 作者:(美)奧爾蒙 等著,張龍 譯 頁(yè)數(shù):300 譯者:張龍
Tag標(biāo)簽:無(wú)
前言
我們現(xiàn)在正步入新的世界,移動(dòng)設(shè)備逐漸成為人們與Internet互聯(lián)的主要方式,開發(fā)移動(dòng)設(shè)備應(yīng)用正成為人們新的追求。供應(yīng)商之間的競(jìng)爭(zhēng)也日趨白熱化,這導(dǎo)致市場(chǎng)中充滿了各種各樣的設(shè)備?! ∥覀兛吹礁鱾€(gè)供應(yīng)商都在為自己的設(shè)備提供開發(fā)工具與市場(chǎng),并希望圍繞著自己的產(chǎn)品創(chuàng)建軟件生態(tài)圈。在很大程度上,一些供應(yīng)商的戰(zhàn)略也是這樣的。開發(fā)者使用這些工具并為特定的設(shè)備創(chuàng)建“原生”應(yīng)用,然后需要重新構(gòu)建應(yīng)用的大部分內(nèi)容以面向各種不同的設(shè)備?! ?duì)于構(gòu)建移動(dòng)應(yīng)用的公司來(lái)說(shuō),這是可接受的方式。然而,從長(zhǎng)遠(yuǎn)來(lái)看,這種方式是行不通的。考慮到擁有Web產(chǎn)品的每個(gè)公司在未來(lái)幾年間都需要為多種設(shè)備提供桌面版的Web應(yīng)用與適合的移動(dòng)客戶端。再考慮軟件開發(fā)者的數(shù)量——就像你我,還有其他開發(fā)者。我們擁有必要的資源滿足這種需求嗎?我沒(méi)有。一定會(huì)有更好的方式。確實(shí)是有的?! ?gòu)建移動(dòng)Web應(yīng)用是更好的方式。這是一種移動(dòng)應(yīng)用開發(fā)的方式,你只需要重寫很少的代碼就可以滿足市場(chǎng)上存在的眾多設(shè)備的需求。本書關(guān)注于為Android編寫移動(dòng)Web應(yīng)用,但實(shí)際上,很多概念也可以輕松移植到其他移動(dòng)設(shè)備上(這是重點(diǎn))?! 『沃^移動(dòng)Web應(yīng)用 移動(dòng)Web應(yīng)用就是使用核心客戶端Web技術(shù)HTML、CSS與JavaScript構(gòu)建,并且專門針對(duì)移動(dòng)設(shè)備的應(yīng)用。吸引人們關(guān)注移動(dòng)Web應(yīng)用是HTML5與CSS3的趨勢(shì)——這兩個(gè)技術(shù)的“最新版”。本書會(huì)詳細(xì)介紹HTML5、CSS3和JavaScript?! avaScript是令很多開發(fā)者又愛又恨的語(yǔ)言。有些人甚至都不把它看做是一門編程語(yǔ)言。然而,JavaScript很可能會(huì)成為未來(lái)5年內(nèi)最需要的技能之一?! ”緯褂昧四男┘夹g(shù) 本書將會(huì)使用大量JavaScript代碼。顯然還會(huì)使用很多HTML與CSS,但JavaScript確實(shí)是適合于移動(dòng)Web應(yīng)用開發(fā)的語(yǔ)言?! ∪绻皇煜avaScript,那么我們并不會(huì)將你置于紛繁復(fù)雜的JavaScript代碼中,我們會(huì)推薦一些學(xué)習(xí)資料,因?yàn)檫@并非一本JavaScript基礎(chǔ)書。我們還大量使用了優(yōu)秀的jQuery JavaScript庫(kù)以簡(jiǎn)化開發(fā)。如果不熟悉jQuery,那么我們建議你看看jQuery教程。如果熟悉Prototype、MooTools或是其他的jQuery“競(jìng)爭(zhēng)者”,那么你可以很輕松地修改書中的示例代碼?! ?duì)于移動(dòng)Web應(yīng)用來(lái)說(shuō)(以及其他的富JavaScript Web應(yīng)用),掌握如何組織應(yīng)用以保證可讀性與可維護(hù)性是很重要的。這正是本書中使用了很多小應(yīng)用項(xiàng)目而非代碼片段來(lái)展示特定功能的原因所在。這樣你就可以熟悉移動(dòng)Web應(yīng)用開發(fā)的方方面面,還能理解如何高效地整合真實(shí)世界中的移動(dòng)Web應(yīng)用?! ∪绻煜eb應(yīng)用開發(fā),那么通過(guò)本書的學(xué)習(xí),你就可以輕松轉(zhuǎn)換到移動(dòng)Web應(yīng)用開發(fā)上來(lái)。但如果你熟悉移動(dòng)應(yīng)用開發(fā),想要學(xué)習(xí)Web應(yīng)用開發(fā)方式,那么學(xué)習(xí)額外的資料將是非常重要的?! ”緯鴥?nèi)容 本書圍繞著兩個(gè)應(yīng)用示例展開,你會(huì)從中學(xué)習(xí)到移動(dòng)Web應(yīng)用開發(fā)的方方面面。第2章~第6章介紹了首個(gè)迷你應(yīng)用,它是一個(gè)簡(jiǎn)單的“任務(wù)清單列表”應(yīng)用,第8章~第12章則從頭開始介紹如何構(gòu)建一個(gè)簡(jiǎn)單的位置感知游戲?! ≡谶@兩頓大餐之間還有3章作為“點(diǎn)心”。第1章主要介紹了編寫Android Web應(yīng)用的基本概念。第7章簡(jiǎn)要介紹了交互性與HTML5 canvas。第13章介紹了移動(dòng)應(yīng)用世界的未來(lái)。
內(nèi)容概要
現(xiàn)在,我們已經(jīng)可以使用Web技術(shù)為Android和其他移動(dòng)設(shè)備開發(fā)應(yīng)用。通過(guò)將HTML5的功能與CSS3及JavaScript整合,Web立用開發(fā)者可以通過(guò)熟悉的工具開發(fā)出引人入勝的移動(dòng)應(yīng)用?,F(xiàn)在我們不僅可以構(gòu)建出與原生應(yīng)用(native
app)相媲美的移動(dòng)Web app,還可以實(shí)現(xiàn)“編寫應(yīng)用一次,就可以在各種不同的設(shè)備上運(yùn)行”。
本書由奧爾蒙、布蘭克編著,通過(guò)本書一書的學(xué)習(xí),熟悉Web app開發(fā)的開發(fā)人員可以掌握如何為Android移動(dòng)平臺(tái)開發(fā)Web
app。
閱讀完本書一書后,你不僅能很好地理解Android中的Web應(yīng)用世界,還能掌握一些輔助工具和框架的使用方法。借助于書中的實(shí)際示例,你將了解通過(guò)Web方式來(lái)構(gòu)建移動(dòng)應(yīng)用所面臨的機(jī)遇與挑戰(zhàn)。
作者簡(jiǎn)介
作者:(美)Damon Oehlman,(美)Sebastien Blanc
書籍目錄
第1章 入門
1.1 了解Android平臺(tái)功能
1.1.1 設(shè)備連接
1.1.2 觸摸
1.1.3 地理位置
1.1.4 硬件傳感器
1.1.5 本地?cái)?shù)據(jù)庫(kù)與存儲(chǔ)
1.1.6 相機(jī)支持
1.1.7 消息與推送通知
1.1.8 WebKit Web瀏覽器
1.1.9 進(jìn)程管理
1.1.10 Android OS特性小結(jié)
1.2 準(zhǔn)備開發(fā)環(huán)境
1.2.1 文本編輯器與工作目錄
1.2.2 Web服務(wù)器
1.2.3 模擬器
1.3 Hello World
1.4 小結(jié)
第2章 構(gòu)建移動(dòng)HTML輸入表單
2.1 面向移動(dòng)Web的HTML
2.1.1 面向移動(dòng)的網(wǎng)頁(yè)
2.1.2 添加表單元素
2.2 添加樣式
2.2.1 使用CSS3的表單樣式
2.2.2 改進(jìn)頁(yè)面標(biāo)題的外觀
2.2.3 針對(duì)不同的屏幕尺寸編寫代碼
2.2.4 處理設(shè)備方向的變化
2.3 添加表單驗(yàn)證
2.4 小結(jié)
第3章 HTML5 Storage API
3.1 Web Storage API
3.1.1 使用JSON將對(duì)象保存到Web Storage中
3.1.2 Local Storage與Session Storage
3.2 Web SQL Database
3.2.1 使用客戶端數(shù)據(jù)庫(kù)保存任務(wù)清單條目
3.2.2 數(shù)據(jù)庫(kù)的版本化與升級(jí)
3.3 小結(jié)
第4章 構(gòu)建多頁(yè)面應(yīng)用
4.1 單個(gè)HTML文件、多個(gè)應(yīng)用頁(yè)面
4.1.1 創(chuàng)建視圖管理器
4.1.2 實(shí)現(xiàn)視圖動(dòng)作
4.2 構(gòu)建應(yīng)用的主界面
4.2.1 修改ViewManager功能
4.2.2 主界面的存儲(chǔ)需求
4.2.3 裝配主界面
4.3 構(gòu)建所有任務(wù)界面
4.4 實(shí)現(xiàn)視圖棧
4.5 小結(jié)
第5章 與云進(jìn)行同步
5.1 探索在線存儲(chǔ)的選擇
5.1.1 在線同步存儲(chǔ)的需求
5.1.2 避免3層架構(gòu)
5.1.3 用戶認(rèn)證
5.1.4 JavaScript同步庫(kù)
5.1.5 可能的同步解決方案
5.2 Google App Engine入門
5.2.1 在本地部署jsonengine
5.2.2 選擇合適的同步模式
5.2.3 向jsonengine發(fā)送離線數(shù)據(jù)
5.3 針對(duì)在線同步更新用戶界面
5.4 開發(fā)桌面界面
5.4.1 查詢jsonengine實(shí)例
5.4.2 將應(yīng)用部署到云中
5.5 小結(jié)
第6章 與原生應(yīng)用競(jìng)爭(zhēng)
6.1 添加輕量級(jí)動(dòng)畫與類似于原生應(yīng)用的布局
6.1.1 添加簡(jiǎn)單的旋轉(zhuǎn)加載器
6.1.2 添加可滾動(dòng)的內(nèi)容
6.1.3 修改動(dòng)作欄
6.2 為應(yīng)用添加位置感知特性
6.3 離線運(yùn)行應(yīng)用
6.3.1 離線緩存清單文件
6.3.2 探索隱蔽的離線緩存特性
6.3.3 檢測(cè)連接狀態(tài)
6.4 小結(jié)
第7章 探索交互性
7.1 HTML5 Canvas簡(jiǎn)介
7.2 為Canvas繪制增加交互性
7.2.1 交互:使用鼠標(biāo)
7.2.2 交互:使用觸摸
7.3 實(shí)現(xiàn)Canvas動(dòng)畫
7.3.1 創(chuàng)建動(dòng)畫循環(huán)
7.3.2 繪制一幀動(dòng)畫
7.3.3 繪制圖像:考慮設(shè)備DPI
7.4 高級(jí)動(dòng)畫技術(shù)
7.4.1 在動(dòng)畫中實(shí)現(xiàn)逼真的移動(dòng)
7.4.2 Canvas變換與動(dòng)畫
7.4.3 小汽車動(dòng)畫的變換
7.5 小結(jié)
第8章 基于位置的服務(wù)與移動(dòng)地圖
8.1 基于位置的服務(wù)
8.2 地理社交網(wǎng)絡(luò)
8.3 移動(dòng)地圖
8.3.1 使用Google Maps顯示地圖
8.3.2 Tile5:另一個(gè)HTML5 Mapping API
8.3.3 向Google Map添加標(biāo)記
8.3.4 顯示標(biāo)記的詳細(xì)信息
8.4 針對(duì)移動(dòng)優(yōu)化的地圖UI
8.4.1 地圖UI模型
8.4.2 編寫移動(dòng)地圖UI樣板
8.4.3 在樣板代碼中實(shí)現(xiàn)UI導(dǎo)航
8.4.4 使用導(dǎo)航欄選擇標(biāo)記
8.5 小結(jié)
第9章 使用PhoneGap橋接原生應(yīng)用
9.1 橋接框架簡(jiǎn)介
9.1.1 何時(shí)使用PhoneGap
9.1.2 下載PhoneGap
9.2 示例PhoneGap應(yīng)用
9.2.1 構(gòu)建示例應(yīng)用
9.2.2 探索示例應(yīng)用
9.3 一個(gè)簡(jiǎn)單的PhoneGap地圖應(yīng)用
9.3.1 修改示例PhoneGap項(xiàng)目
9.3.2 將現(xiàn)有代碼轉(zhuǎn)換為PhoneGap應(yīng)用
9.4 小結(jié)
第10章 集成Social API
10.1 連接到Web API
10.1.1 何謂JSONP
10.1.2 處理缺少JSONP支持的API
10.1.3 Geominer API簡(jiǎn)介
10.2 在Moundz中定位資源
10.2.1 使用Geominer API找到附近資源
10.2.2 使用Geolocation追蹤位置
10.3 實(shí)現(xiàn)用戶登錄
10.3.1 構(gòu)建歡迎與登錄界面
10.3.2 Twitter Anywhere與登錄過(guò)程
10.3.3 另一種通過(guò)Geominer實(shí)現(xiàn)的Twitter認(rèn)證
10.4 小結(jié)
第11章 移動(dòng)UI框架比較
11.1 移動(dòng)UI框架概覽
11.1.1 框架之間的異同點(diǎn)
11.1.2 為框架比較做好準(zhǔn)備
11.2 Jo
11.2.1 Jo入門
11.2.2 當(dāng)Moundz遇到Jo
11.3 jQTouch
11.3.1 jQTouch入門
11.3.2 將jQTouch應(yīng)用到Moundz上
11.4 jQuery Mobile
11.4.1 jQuery Mobile入門
11.4.2 Moundz與jQuery Mobile
11.5 Sencha Touch
11.5.1 Sencha Touch入門
11.5.2 Moundz與Sencha Touch
11.6 小結(jié)
第12章 完善與打包應(yīng)用以進(jìn)行發(fā)布
12.1 繼續(xù)使用jQuery Mobile
12.1.1 恢復(fù)登錄界面
12.1.2 改進(jìn)導(dǎo)航布局
12.2 搜集資源
12.2.1 構(gòu)建資源詳細(xì)信息界面
12.2.2 使用Geominer實(shí)現(xiàn)資源追蹤
12.3 將Moundz打包為原生應(yīng)用
12.3.1 針對(duì)PhoneGap打包
12.3.2 處理應(yīng)用權(quán)限
12.4 PhoneGap、認(rèn)證與Intent
12.4.1 之前的Web認(rèn)證流程
12.4.2 Android Intent概覽
12.4.3 使用PhoneGap插件處理Intent
12.5 打包應(yīng)用以進(jìn)行發(fā)布
12.6 小結(jié)
第13章 移動(dòng)計(jì)算的未來(lái)
13.1 移動(dòng)計(jì)算時(shí)代
13.1.1 全球范圍的現(xiàn)象
13.1.2 桌面已死
13.1.3 擁抱漸進(jìn)增強(qiáng)
13.2 移動(dòng)技術(shù)預(yù)測(cè)
13.2.1 工具與庫(kù)的改進(jìn)
13.2.2 設(shè)備架構(gòu)的變化
13.2.3 面向未來(lái)架構(gòu)的編碼
13.3 物聯(lián)網(wǎng)
13.3.1 硬件傳感器網(wǎng)絡(luò)
13.3.2 人體傳感器
13.4 小結(jié)
附錄A 調(diào)試Android Web應(yīng)用
章節(jié)摘錄
版權(quán)頁(yè):第1章入門歡迎來(lái)到Android Web應(yīng)用開發(fā)的精彩世界。本書將帶你領(lǐng)略移動(dòng)Web應(yīng)用構(gòu)建的過(guò)程。雖說(shuō)本書內(nèi)容主要面向Android,但大部分代碼都可以用在Chrome OS上。事實(shí)上,應(yīng)用代碼的重用并不局限于Chome OS—本書的代碼可以運(yùn)行在提供了基于WebKit瀏覽器的任何設(shè)備上。如果你現(xiàn)在不熟悉WebKit或Chrome OS,那也沒(méi)關(guān)系—學(xué)完本書后就會(huì)熟悉了。本章將會(huì)介紹一些高層次主題,這樣你就能盡快開始構(gòu)建應(yīng)用了:?Android 平臺(tái)功能概覽?通過(guò)Web瀏覽器可以使用哪些功能(默認(rèn)情況下以及使用諸如PhoneGap之類的橋接框架時(shí))?為編寫本書示例及創(chuàng)建自己的應(yīng)用配置開發(fā)環(huán)境?Android 開發(fā)包自帶的工具以及能夠幫助你構(gòu)建Web應(yīng)用的一些支持工具概覽1.1 了解Android平臺(tái)功能Android操作系統(tǒng)(OS)是一種面向移動(dòng)設(shè)備(包括智能手機(jī)與平板電腦)的通用OS。Android的計(jì)劃是成為多個(gè)設(shè)備廠商自己的設(shè)備OS,接下來(lái)各個(gè)廠商就可以定制它并在其上構(gòu)建應(yīng)用。這個(gè)愿景在很大程度上已經(jīng)實(shí)現(xiàn)了,眾多廠商已經(jīng)開始發(fā)布預(yù)裝Android的設(shè)備并成為開放手機(jī)聯(lián)盟(http://openhandsetalliance.com)的成員。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Android Web應(yīng)用高級(jí)編程 PDF格式下載