PhoneGap開發(fā)指南

出版時(shí)間:2012-10  出版社:人民郵電出版社  作者:魯尼  頁數(shù):282  字?jǐn)?shù):369000  譯者:劉明駿  
Tag標(biāo)簽:無  

內(nèi)容概要

  PhoneGap是一個(gè)開源的開發(fā)工具和框架,可以允許開發(fā)人員使用HTML、JavaScript和 CSS
技術(shù)開發(fā)出強(qiáng)大的跨平臺(tái)移動(dòng)應(yīng)用程序。《PhoneGap開發(fā)指南》通過結(jié)合大量實(shí)際案例和源代碼對(duì)PhoneGap的重要特性進(jìn)行了詳細(xì)講解,內(nèi)容全面豐富,易于理解?! ∪珪卜譃?br />11 章,其內(nèi)容包括如何在不同平臺(tái)上安裝
PhoneGap,如何在不同平臺(tái)上構(gòu)建以及調(diào)試應(yīng)用程序,如何將移動(dòng)Web轉(zhuǎn)換為移動(dòng)應(yīng)用程序,如何管理跨平臺(tái)代碼庫等。此外,《PhoneGap開發(fā)指南》還介紹了HTML5
API和移動(dòng)JavaScript庫,介紹了CSS3的轉(zhuǎn)場(chǎng)、變形和動(dòng)畫,如何使用PhoneGap訪問設(shè)備感應(yīng)器,如何通過PhoneGap使用攝像頭,如何使用PhoneGap讀寫通訊錄,如何使用不同平臺(tái)的原生API編寫PhoneGap插件,如何同步應(yīng)用程序,并緩存一些必要的信息等內(nèi)容?!  禤honeGap開發(fā)指南》適合具有一定HTML和JavaScript基礎(chǔ),而且對(duì)PhoneGap這一開源框架感興趣的Web開發(fā)人員、移動(dòng)應(yīng)用開發(fā)人員閱讀。

作者簡(jiǎn)介

  Andrew Lunny是Nitobi軟件公司的一名號(hào)稱“頭號(hào)牛人(Chief
N00b)”的軟件開發(fā)人員,該軟件公司總部設(shè)在溫哥華。Andrew曾是一名優(yōu)秀的沖浪運(yùn)動(dòng)員,不幸的是,一只兇狠的鯊魚扼殺了他這份富有前途的職業(yè)。自退出沖浪運(yùn)動(dòng)算起,他已經(jīng)在Nitobi公司工作了整整4年。作為PhoneGap組的一名成員,他是該組的核心開發(fā)人員,尤其在用PhoneGap建立Web服務(wù)方面,他是個(gè)名副其實(shí)的多面手,并在PhoneGap及相關(guān)技術(shù)領(lǐng)域具有至少10年的開發(fā)經(jīng)驗(yàn)。他喜愛Ruby、JavaScript、UNIX、Git以及Internet。
Nitobi公司的經(jīng)營(yíng)者包括Andre Charland、Dave Johnson還有Brian
Leroux。他們擅長(zhǎng)于跨平臺(tái)移動(dòng)設(shè)備的開發(fā)與設(shè)計(jì),同時(shí)也是PhoneGap開源項(xiàng)目的贊助者。在業(yè)余時(shí)間,Andrew熱衷于騎自行車、跑步、散步還有跳躍。更讓人驚訝的是,他還在英國(guó)哥倫比亞大學(xué)獲得了兩個(gè)截然不同的學(xué)位!

書籍目錄

第1章 安裝PhoneGap 
1.1 操作系統(tǒng) 
1.2 所需工具 
1.3 使用iOS入門 
1.4 行動(dòng)時(shí)刻——在模擬器上運(yùn)行應(yīng)用程序 
1.5 安裝PhoneGap-iPhone 
1.6 行動(dòng)時(shí)刻——PhoneGap-iPhone的Hello World 
1.6.1 剛做了什么? 
1.6.2 突擊測(cè)驗(yàn)——iPhone上的PhoneGap基礎(chǔ) 
1.7 使用Android入門 
  開發(fā)環(huán)境的說明 
1.8 行動(dòng)時(shí)刻——運(yùn)行SDK 
1.8.1 剛做了什么? 
1.8.2 PhoneGap Android 
1.9 行動(dòng)時(shí)刻——PhoneGap Android的Hello World 
1.9.1 剛做了什么? 
1.9.2 PhoneGap Android應(yīng)用程序中到底有什么? 
1.9.3 一展身手——深入Android 
1.10 使用BlackBerry Web Works入門 
1.11 行動(dòng)時(shí)刻——第一個(gè)PhoneGap BlackBerry應(yīng)用 
1.11.1 剛做了什么? 
1.11.2 BlackBerry代碼簽名 
1.11.3 一展身手——跨平臺(tái)帶來的樂趣 
1.12 小結(jié) 
第2章 在不同平臺(tái)上構(gòu)建和調(diào)試應(yīng)用程序 
2.1 使用桌面瀏覽器進(jìn)行設(shè)計(jì) 
2.1.1 WebKit 
2.2 開發(fā)第一個(gè)應(yīng)用程序:You Are The Best 
2.3 行動(dòng)時(shí)刻——初期的設(shè)計(jì)和功能 
2.3.1 剛做了什么? 
2.3.2 我們的工作流程 
2.3.3 我們的樣式 
1.分離性 
2.寬度和高度 
3.-webkit-border-radius 
2.3.4 我們的腳本 
1.分離性 
2.a(chǎn)ddEventListener 
3.DOMContentLoaded 
2.3.5 突擊測(cè)驗(yàn)——初期設(shè)計(jì) 
2.4 使用Web Inspector 
  進(jìn)入Web Inspector 
2.5 行動(dòng)時(shí)刻——簡(jiǎn)單的日志和錯(cuò)誤檢查 
2.5.1 剛做了什么? 
2.5.2 一展身手——玩轉(zhuǎn)Web Inspector和JavaScript 
2.6 移植到原生平臺(tái) 
2.7 行動(dòng)時(shí)刻——You Are The Best for iPhone 
2.7.1 剛做了什么? 
2.7.2  
2.7.3 phonegap.js 
2.7.4 deviceready事件 
2.7.5 一展身手——移植到其他平臺(tái) 
2.8 總結(jié) 
第3章 從移動(dòng)站點(diǎn)到移動(dòng)應(yīng)用 
3.1 實(shí)現(xiàn)Web服務(wù)器的角色 
3.2 行動(dòng)時(shí)刻——實(shí)現(xiàn)LocalStorage 
3.2.1 剛做了什么? 
3.2.2 其他存儲(chǔ)方案 
1.Web SQL 
2.Indexed DB 
3.2.3 一展身手——探索LocalStorage 
3.3 視圖模板化技術(shù) 
3.4 行動(dòng)時(shí)刻——食物詳情視圖 
3.4.1 剛做了什么? 
3.4.2 突擊測(cè)驗(yàn)——使用Mustache模板 
3.4.3 訪問遠(yuǎn)程資源 
  跨域策略 
3.5 行動(dòng)時(shí)刻——食物點(diǎn)評(píng) 
3.5.1 剛做了什么? 
3.5.2 訪問遠(yuǎn)程資源 
1.解析遠(yuǎn)程數(shù)據(jù) 
2.事件委托 
3.Sleight:PhoneGap的開發(fā)服務(wù)器 
3.5.3 一展身手——讓效率更高一些 
3.6 總結(jié) 
第4章 管理跨平臺(tái)代碼庫 
4.1 平臺(tái)之間的內(nèi)在差別 
  使用單一代碼庫 
4.2 行動(dòng)時(shí)刻——檢測(cè)和回退 
4.2.1 剛做了什么? 
4.2.2 用戶終端嗅探 
4.2.3 特性檢測(cè) 
4.2.4 突擊測(cè)驗(yàn)——特性檢測(cè)VS用戶終端(UA)嗅探 
4.2.5 媒體查詢 
4.2.6 一展身手 
4.2.7 預(yù)處理代碼 
4.3 總結(jié) 
第5章 HTML5 API和移動(dòng)JavaScript 
5.1 移動(dòng)JavaScript 
  XUI 
5.2 行動(dòng)時(shí)刻——下載、構(gòu)建以及使用XUI 
5.2.1 剛做了什么? 
5.2.2 為什么不用jQuery? 
5.2.3 突擊測(cè)驗(yàn)——XUI 
5.3 HTML5 
  媒體元素 
5.4 行動(dòng)時(shí)刻——使用PhoneGap 
5.4.1 剛做了什么? 
5.4.2 媒體事件和屬性 
5.4.3 audio元素 
5.4.4 突擊測(cè)驗(yàn)——媒體元素 
5.4.5 canvas元素 
5.5 行動(dòng)時(shí)刻——晚餐示數(shù)面板 
5.5.1 剛做了什么? 
5.5.2 canvas API 
5.5.3 注意性能 
5.5.4 一展身手 
5.5.5 HTML5中還有什么? 
5.6 總結(jié) 
第6章 CSS3:轉(zhuǎn)場(chǎng)、變形和動(dòng)畫 
6.1 使用CSS3 Transition進(jìn)行轉(zhuǎn)換 
6.2 行動(dòng)時(shí)刻——模態(tài)顯示tweet視圖 
6.2.1 剛做了什么? 
6.2.2 時(shí)間函數(shù) 
6.2.3 CSS3 Transform中其他的函數(shù) 
6.2.4 一展身手——CSS3 Transform 
6.3 滾動(dòng) 
6.3.1 viewport:可見與不可見 
6.3.2 iScroll 
6.4 行動(dòng)時(shí)刻——滾動(dòng)食物列表 
6.4.1 剛做了什么? 
6.4.2 其他解決方法 
6.4.3 突擊測(cè)驗(yàn)——滾動(dòng) 
6.5 顯式動(dòng)畫 
6.6 行動(dòng)時(shí)刻——讓我們的標(biāo)題動(dòng)起來 
6.6.1 剛做了什么? 
6.6.2 一展身手 
6.6.3 動(dòng)畫:用CSS3還是HTML5 
6.7 總結(jié) 
第7章 使用PhoneGap調(diào)用設(shè)備傳感器 
7.1 什么是設(shè)備傳感器? 
7.2 行動(dòng)時(shí)刻——明信片生成器 
7.2.1 剛做了什么? 
7.2.2 PhoneGap與HTML5的對(duì)比 
7.2.3 其他地理位置數(shù)據(jù) 
7.2.4 突擊測(cè)驗(yàn)——地理位置 
7.3 加速度計(jì)數(shù)據(jù) 
7.4 行動(dòng)時(shí)刻——監(jiān)測(cè)搖擺 
7.4.1 剛做了什么? 
7.4.2 設(shè)備朝向和設(shè)備運(yùn)動(dòng)事件 
7.4.3 一展身手 
7.5 方向媒體查詢 
7.6 行動(dòng)時(shí)刻——橫向顯示明信片應(yīng)用程序 
7.6.1 剛做了什么? 
7.6.2 其他媒體查詢 
突擊測(cè)驗(yàn)——朝向和媒體查詢 
7.6.3 磁力計(jì)傳感器:漏掉的API 
7.7 總結(jié) 
第8章 訪問攝像頭數(shù)據(jù)和文件 
8.1 行動(dòng)時(shí)刻——攝像頭API入門 
8.1.1 剛做了什么? 
8.1.2 瀏覽器既不是模擬器也不是設(shè)備 
8.1.3 圖片源 
8.1.4 其他選項(xiàng) 
8.1.5 突擊測(cè)驗(yàn)——navigator.camera.getPicture 
8.2 當(dāng)我們獲得圖片后,能做些什么? 
8.3 行動(dòng)時(shí)刻——使用圖片路徑顯示圖片 
8.3.1 剛做了什么? 
8.3.2 那么,圖片在哪里? 
8.3.3 一展身手 
8.3.4 原始圖片數(shù)據(jù) 
8.4 行動(dòng)時(shí)刻——保存照片 
8.4.1 剛做了什么? 
8.4.2 確保已設(shè)置quality選項(xiàng) 
8.4.3 突擊測(cè)驗(yàn)——destinationType 
8.4.4 修改或訪問實(shí)時(shí)數(shù)據(jù) 
8.5 總結(jié) 
第9章 讀寫通訊錄 
9.1 行動(dòng)時(shí)刻——navigator.service.contacts.find 
9.1.1 剛做了什么? 
9.1.2 ContactField類型的字段 
9.1.3 一展身手 
9.1.4 寫入聯(lián)系人數(shù)據(jù) 
9.2 行動(dòng)時(shí)刻——交個(gè)朋友 
9.2.1 剛做了什么? 
9.2.2 如果遇到新的問題,我該怎么辦? 
9.2.3 ContactField、ContactName以及類似的對(duì)象 
9.2.4 負(fù)起責(zé)任 
9.2.5 突擊測(cè)驗(yàn)——通訊錄 
9.3 總結(jié) 
第10章 PhoneGap插件 
10.1 獲取PhoneGap插件 
10.2 行動(dòng)時(shí)刻——集成ChildBrowser插件 
10.2.1 剛做了什么? 
10.2.2 平臺(tái)間的差異 
10.2.3 漫游PhoneGap插件 
10.2.4 突擊測(cè)驗(yàn)——使用PhoneGap插件 
10.2.5 編寫PhoneGap插件 
10.3 行動(dòng)時(shí)刻——電量視圖 
10.3.1 剛做了什么? 
10.3.2 iOS版PhoneGap插件值得注意的地方 
10.3.3 一展身手 
10.4 移植插件 
10.5 行動(dòng)時(shí)刻——Android和BlackBerry 
10.5.1 剛做了什么? 
10.5.2 你需要跨平臺(tái)插件嗎? 
10.5.3 不受限制 
10.5.4 突擊測(cè)驗(yàn)——編寫PhoneGap插件 
10.6 總結(jié) 
第11章 離線運(yùn)行:同步和緩存 
11.1 Ruby和Sinatra 
11.2 行動(dòng)時(shí)刻——一個(gè)擁有API的新聞?wù)尽?br />11.2.1 剛做了什么? 
11.2.2 Sinatra的替代者 
11.2.3 突擊測(cè)驗(yàn)——一個(gè)簡(jiǎn)單的Web服務(wù) 
11.2.4 緩存新聞報(bào)道 
11.3 行動(dòng)時(shí)刻——在本地?cái)?shù)據(jù)庫緩存新聞 
11.3.1 剛做了什么? 
11.3.2 管理應(yīng)用程序初始化 
11.3.3 一展身手 
11.4 總結(jié) 
附錄A 部署到iOS 
A.1 行動(dòng)時(shí)刻——部署到設(shè)備上 
A.1.1 剛做了什么? 
A.1.2 一展身手——iOS基礎(chǔ)知識(shí) 
附錄B 突擊測(cè)驗(yàn)答案 

章節(jié)摘錄

版權(quán)頁:   插圖:   9.2.1剛做了什么? 在我們繞來繞去地做了許多很業(yè)余的事情之后,我們終于成功編寫了一個(gè)跨平臺(tái)的應(yīng)用程序,該應(yīng)用程序可以根據(jù)用戶輸入,在系統(tǒng)通訊錄中新建聯(lián)系人。 我一直告訴自己使用Contacts API是很直觀的,但我是真心討厭Contacts API。因?yàn)槊髅魇且粋€(gè)很簡(jiǎn)單的概念但用起來卻要大費(fèi)周章。雖然我們可以向contact.save中傳入回調(diào)函數(shù),但卻沒有簡(jiǎn)單的方法可以用來驗(yàn)證要傳入設(shè)備的聯(lián)系人對(duì)象;除了在獨(dú)立設(shè)備上手動(dòng)測(cè)試,也沒有簡(jiǎn)單的方法可以讓你清楚地知道用戶會(huì)看到什么。很遺憾,這就是Contacts API的本質(zhì)。因?yàn)椤肮芾砺?lián)系人”是現(xiàn)代智能手機(jī)的內(nèi)在組成部分,所以每個(gè)Contacts API的實(shí)現(xiàn)千差萬別也就不奇怪了。 9.2.2如果遇到新的問題,我該怎么辦? Contacts API總是有這樣那樣的問題(老實(shí)說,它從來沒有按我想的做過),所以你很有可能會(huì)遇到本章沒有涉及的新問題。 PhoneGap郵件列表(架設(shè)在Google Groups上,你很容易找到)和PhoneGap文檔網(wǎng)站是兩個(gè)最好的資源。PhoneGap文檔網(wǎng)站提供了最完善的API列表,哪些API函數(shù)需要哪些參數(shù),什么參數(shù)會(huì)傳入你的回調(diào)函數(shù)。對(duì)于Contacts API來說,因?yàn)橛蟹浅4罅康募?xì)節(jié)工作要做,所以PhoneGap文檔網(wǎng)站是非常寶貴的資源。 擁有數(shù)千名PhoneGap開發(fā)人員的郵件列表也十分有用。當(dāng)你遇到特定設(shè)備的問題時(shí),郵件列表會(huì)特別有用。就比如我前面提到過的一個(gè)Android的問題(在向設(shè)備新增聯(lián)系的地方):如果我不修改我的通訊錄設(shè)置,那么我是無法正常運(yùn)行應(yīng)用程序的。修改通訊錄設(shè)置的方法在郵件列表中有詳細(xì)說明。如果你有問題也可以通過郵件列表解決。 3.2.3ContactField、ContactName以及類似的對(duì)象 在上面的所有例子中,我使用了PhoneGap的JavaScript的構(gòu)造器來創(chuàng)建聯(lián)系人對(duì)象(new Contact和new ContactField,等等)。雖然這點(diǎn)在靜態(tài)類型語言(比如Java)中非常常見,但許多JavaScript程序員更熟悉那些松散的、本質(zhì)上是動(dòng)態(tài)的方法。 因?yàn)槟愕腜honeGap代碼就只是JavaScript,所以你可以使用JavaScript語言的特點(diǎn):創(chuàng)建輕量級(jí)的散列而不是使用new操作符,把可選的參數(shù)移出調(diào)用的函數(shù),同時(shí)使用匿名內(nèi)聯(lián)函數(shù)作為回調(diào)函數(shù)。對(duì)于Contacts API來說,使用這些構(gòu)造器的最主要好處就是這些構(gòu)造器會(huì)事先(使用null值)生成出所有原生代碼需要的字段。如果你不這么做,就會(huì)引起意料之外的問題。 大多數(shù)情況下,使用PhoneGap框架提供的工具是最安全的方法。如果你不喜歡深挖PhoneGap的源代碼,那么更應(yīng)該使用這個(gè)方法。 9.2.4負(fù)起責(zé)任 PhoneGap提供了隨意讀取和寫入用戶通訊錄的權(quán)限,同時(shí)你也可以很容易地濫用這些權(quán)限。如果你希望為你的公司或客戶創(chuàng)建一個(gè)有價(jià)值的應(yīng)用程序,那么你就一定得要謹(jǐn)慎對(duì)待你使用到的任何用戶數(shù)據(jù)。 特別要注意的是:如果沒有用戶的許可,不要保存任何用戶數(shù)據(jù)或?qū)⑦@些數(shù)據(jù)發(fā)回遠(yuǎn)程服務(wù)器;不要與用戶通訊錄中的任何聯(lián)系人聯(lián)系,除非是用戶讓你這么做的;不隨意向通訊錄中添加新聯(lián)系人。如果你想讓你的應(yīng)用程序被App Stores或App Markets下線,那么違反上面列出的這幾條倒是不錯(cuò)的方法,這樣你也就能保證徹底沒有人會(huì)使用這款應(yīng)用 程序了。

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

通過任務(wù)和挑戰(zhàn)來鼓勵(lì)讀者親身實(shí)踐。

編輯推薦

《PhoneGap開發(fā)指南》是Adobe中國(guó)開發(fā)者技術(shù)社區(qū)傾力推薦的一本PhoneGap開發(fā)指南《PhoneGap開發(fā)指南》將演示如何使用單一的代碼庫,借助PhoneGap移動(dòng)開發(fā)框架,來為多個(gè)移動(dòng)平臺(tái)(比如iOS、Android、BlackBerry等)開發(fā)應(yīng)用程序。邊學(xué)邊練,學(xué)以致用,所有示例來自真實(shí)環(huán)境,為用戶提供創(chuàng)意,激發(fā)靈感通過任務(wù)和挑戰(zhàn)來鼓勵(lì)讀者親身實(shí)踐

圖書封面

圖書標(biāo)簽Tags

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


    PhoneGap開發(fā)指南 PDF格式下載


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

 
 

  •   少有的PhoneGap開發(fā)書籍,為PhoneGap開發(fā)公司Nitobi牛人所寫。條理清晰,對(duì)入門很有用!
  •   PhoneGap既支持iOS,也支持Android。
  •   很喜歡的書,介紹的很詳細(xì),很適合學(xué)習(xí)PhoneGap
  •   跨平臺(tái)開發(fā)的好工具,不需要了解java,c就可以開發(fā)移動(dòng)應(yīng)用程序
  •   一本很好的跨平臺(tái)開發(fā)入門指導(dǎo)書,雖然不是原生態(tài)技術(shù),但思路很不錯(cuò)。
  •   當(dāng)時(shí)沒有仔細(xì)看不是android版的 是針對(duì)ios的介紹的,不過還行吧 都是寫入門級(jí)的
  •   書的質(zhì)量不錯(cuò),內(nèi)容充實(shí),基礎(chǔ)入門類的書
  •   老公一看到書,說,沒錯(cuò),就是這本?,F(xiàn)在已經(jīng)看去了。
  •   一直在當(dāng)當(dāng)買書,下次再來。
  •   看了下目錄,作為入門,應(yīng)該還可以吧。
  •   非常不錯(cuò),入門好書。
  •   很好,正需要呢
  •   又見識(shí)了新東西,思想不錯(cuò)向手機(jī)過渡
  •   給別人買的。呵呵
  •   很好的學(xué)習(xí)資料,以后學(xué)習(xí)就靠它了!
  •   書中的開發(fā)環(huán)境配置問題不符合天朝、而且也比較的老舊了。同時(shí)沒有寫關(guān)于jquery mobile的內(nèi)容,讓人覺的很遺憾
  •   一步一步的介紹大家做應(yīng)用,但是在前期的搭建環(huán)境知識(shí)有點(diǎn)舊,新手推薦,沒有很深入介紹pg
  •   感覺這本書還不錯(cuò),適合基礎(chǔ)入門用
  •   送貨快,書很薄,字體大,內(nèi)容少
  •   一般湊合看就行了。
  •   phonegap不怎么樣。
  •   雖然是新書,但片面了點(diǎn)。Ios部分偏多,估計(jì)作者是Ios開發(fā)出生的。
  •   一般,雖然還沒看完
  •   版本是1.0,太舊了。
  •   值得一看,但是你知道的,國(guó)產(chǎn)書,字大,內(nèi)容少.
  •   作為指南,很多新手會(huì)踩的坑沒有列出。PhoneGap 更新很快,這本已經(jīng)顯舊了。
  •   書中介紹的版本比較老,不過基本功能都差不多,沒看完,最近太忙
  •   知識(shí)網(wǎng)上都有的,懶得自己整理的還是買本吧
  •   雖然不太喜歡一開始就給一本書一個(gè)負(fù)面意見,但是編程類的圖書 真的真的真的初學(xué)的時(shí)候不適合看老外寫的書,理解不了他的邏輯,況且他都是在蘋果電腦上的編程,android的eclipse代碼也是在蘋果上編程,看起來距離感非常遠(yuǎn)。唯一優(yōu)點(diǎn)可能是目錄結(jié)構(gòu)安排的可以。
  •   寫得實(shí)在是太淺了,當(dāng)入門書都顯得淺了
  •   關(guān)于android比較少,iphone的比較多
  •   覆蓋面廣,淺顯易懂??匆幌禄旧蠈?duì)整個(gè)web的各個(gè)部分都有了解了
 

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

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