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