第1章歡迎進入移動開發的世界11.1移動互聯網行業的浪潮1
1.2跨平臺移動開發框架2
1.2.1什么是跨平臺移動開發框架2
1.2.2為什么選擇跨平臺移動開發框架3
1.2.3可選的跨平臺移動開發框架簡介4
1.2.4什么是PhoneGap/Cordova/Ionic8
1.3初識Ionicv1.x8
1.3.1為什么選擇Ionic9
1.3.2基于Web技術HTML5/CSS3/JavaScript10
1.3.3基于AngularJS框架11
1.3.4接近原生APP應用的炫麗界面組件11
1.3.5自適應(Responsive)布局12
1.3.6支持個(任)性定制13
1.3.7Ionic的缺點13
1.3.8Ionic的商業案例14
1.3.9Ionic的開源案例15
1.3.10Ionic的未來——Ionicv2.0&AngularJSv2.016
1.4學習完本書找工作與創業17
1.4.1從本書的項目實戰開始準備技術作品17
1.4.2Ionic助力實現你的創業夢想18
1.5小結18
第2章Ionic的開發調試環境安裝19
2.1Ionic快速上手環境安裝19
2.1.1安裝Node.js和NPM19
2.1.2安裝Git21
2.1.3安裝Gulp和Bower23
2.1.4安裝IonicCLI與Cordova24
2.1.5安裝設置Chrome瀏覽器(推薦)25
2.1.6HelloIonic項目27
2.1.7使用瀏覽器驗證開發環境自動重載特性28
2.2Windows下安裝Android開發平臺29
2.2.1安裝Android開發環境29
2.2.2為測試項目增加Android平臺支持34
2.2.3連接Android實體機設備測試APP34
2.2.4不使用Android模擬器的說明36
2.3AppleOSX下安裝iOS與Android開發平臺36
2.3.1安裝Xcode37
2.3.2為測試項目增加iOS平臺支持37
2.3.3連接iOS模擬器測試APP37
2.3.4低成本連接iOS實體機設備測試APP38
2.3.5安裝Android開發環境40
2.3.6為測試項目增加Android平臺支持45
2.3.7連接Android實體機設備測試APP45
2.4安裝開發工具SublimeText3(推薦)47
2.4.1安裝開發工具SublimeText347
2.4.2安裝Ionic輔助編碼插件48
2.5小結49
第3章AngularJSv1.x入門初步50
3.1AngularJS整體結構概述50
3.1.1AngularJS實現了M.V.VM模式51
3.1.2AngularJS為JavaScript實現了模塊化52
3.1.3AngularJS實現了聲明式界面52
3.1.4AngularJS實現了雙向數據綁定52
3.2代碼模塊與依賴注入54
3.2.1定義模塊與組件54
3.2.2使用模塊與組件依賴注入55
3.2.3AngularJS模塊與JavaScript文件56
3.3數據作用域與控制器56
3.3.1在控制器內初始化作用域對象56
3.3.2使用作用域對象57
3.3.3控制器與作用域的反模式59
3.4指令和過濾器59
3.4.1指令Directive是什么60
3.4.2自定義指令及使用60
3.4.3使用過濾器Filter62
3.5服務類組件63
3.5.1Provider服務組件詳解64
3.5.2Factory服務組件詳解65
3.5.3Service服務組件簡介66
3.5.4服務類組件特性總結67
3.6一個簡單的AngularJS項目:實時自選股行情頁67
3.7小結76
第4章其他基礎知識與Ionic項目結構77
4.1SASS入門77
4.1.1變量與計算78
4.1.2樣式嵌套79
4.1.3單行注釋//81
4.1.4繼承@extend82
4.1.5混入@mixin與@include83
4.1.6顏色計算85
4.1.7引入文件@import86
4.1.8條件語句@if和@else87
4.2lodash(可選學)87
4.2.1使用場景87
4.2.2引入到項目88
4.2.3進一步學習指南88
4.3Gulp使用簡介(可選學)89
4.3.1Gulp主文件gulpfile.js的執行原理89
4.3.2獲取流函數src90
4.3.3寫文件函數dest91
4.3.4監視文件變化函數watch92
4.3.5定義任務函數task93
4.3.6解析Ionic項目Gulp主文件94
4.4Ionic項目模板目錄結構簡介95
4.4.1常用工作目錄www96
4.4.2常用工作目錄scss96
4.4.3常用工作目錄resources97
4.4.4重要文件package.json97
4.4.5重要文件config.xml97
4.4.6其他目錄與文件簡介98
4.5小結98
第5章Ionic內置CSS樣式99
5.1柵格布局解析100
5.1.1基本行與列CSS類101
5.1.2指定列寬比例與自定義102
5.1.3指定列相對偏移比例105
5.1.4縱軸對齊方式107
5.1.5響應式柵格109
5.1.6示例:表情包圖片庫瀏覽頁111
5.2固定標題欄113
5.2.1固定標題條114
5.2.2固定頂欄114
5.2.3固定底欄115
5.3按鈕116
5.3.1普通按鈕與配色結合116
5.3.2按鈕尺寸、寬度樣式118
5.3.3無填充色按鈕與文本型按鈕119
5.3.4圖標按鈕120
5.3.5標題欄按鈕121
5.3.6按鈕條123
5.4列表容器124
5.4.1分割條式列表項125
5.4.2列表項內圖標126
5.4.3列表項內按鈕127
5.4.4列表項內頭像128
5.4.5列表項內縮略預覽圖129
5.4.6有邊距的列表130
5.5展示卡131
5.5.1普通卡132
5.5.2增加標題欄裝飾效果133
5.5.3卡列表134
5.5.4卡內圖片134
5.5.5Facebook型展示卡135
5.6表單控件樣式137
5.6.1輸入字段名提示137
5.6.2輸入控件圖標140
5.6.3有邊距的輸入表單141
5.6.4輸入控件單獨設置邊距141
5.6.5標題欄上放置文本輸入控件142
5.7開關類組件142
5.8范圍選擇組件144
5.9選擇框組件145
5.10選項卡欄146
5.10.1普通文本型選項卡147
5.10.2圖標型選項卡148
5.10.3圖標置頂或置左型選項卡149
5.10.4選項卡指示條151
5.11自定義主題顏色152
5.12可用圖標集154
5.13內邊距微調155
5.14小結155
第6章Ionic內置JS組件概述156
6.1Ionic內置JS組件156
6.1.1組件分類與前后綴說明156
6.1.2Ionic內置JS組件與CSS樣式類集成157
6.1.3Ionic內置JS組件與AngularJS集成157
6.2使用JS組件的常見問題解決辦法158
6.2.1交互調試部署到Android設備上的Ionic應用158
6.2.2設備上顯示白屏幕錯誤問題調試159
6.2.3使用Batarang進行性能分析160
6.3小結161
第7章Ionic內置布局類組件162
7.1固定標題欄162
7.2內容顯示相關組件164
7.2.1內容展示容器164
7.2.2內容滾動容器167
7.2.3內容容器對象滾動服務169
7.2.4加載新內容滾動觸發器169
7.2.5下拉刷新組件171
7.3小結173
第8章Ionic內置導航類組件174
8.1導航框架相關組件175
8.1.1導航視圖容器與視圖175
8.1.2定制頂部導航欄179
8.1.3瀏覽歷史服務182
8.2選項卡相關組件183
8.2.1選項卡欄與選項卡183
8.2.2選項卡服務188
8.3側欄菜單相關組件189
8.3.1側欄菜單框架189
8.3.2側欄菜單顯示設置194
8.3.3側欄菜單服務194
8.4導航應用綜合實戰:個人電子簡歷APP框架195
8.5小結201
第9章Ionic內置數據展示與操作組件202
9.1列表相關組件202
9.1.1列表容器與列表項定制202
9.1.2列表服務205
9.1.3列表高性能顯示優化206
9.2表單輸入相關組件208
9.3對話框類相關組件209
9.3.1模態框209
9.3.2浮動框211
9.3.3彈出框213
9.3.4上拉菜單216
9.3.5背景幕布218
9.3.6對話框類組件綜合示例218
9.4加載中提示相關組件226
9.4.1加載中指示器226
9.4.2加載中指示服務227
9.5輪播組件229
9.6手勢事件與服務組件232
9.6.1Ionic手勢事件類型232
9.6.2手勢事件232
9.7鍵盤組件233
9.7.1鍵盤插件233
9.7.2懸浮底欄指令234
9.8小結234
第10章Ionic內置基礎服務組件與設備平臺客制化235
10.1平臺服務組件235
10.2其他工具237
10.2.1應用基礎配置237
10.2.2設備信息與基本操作238
10.2.3DOM信息與基本操作240
10.2.4DOM元素位置信息240
10.2.5事件管理241
10.3設備平臺客制化242
10.3.1設備平臺CSS樣式類242
10.3.2使用AngularJS客制化平臺風格示例244
10.4小結246
第11章借助插件接近無限可能247
11.1Cordova插件247
11.1.1搜索可用的插件247
11.1.2插件管理(安裝、刪除、顯示已裝插件)248
11.1.3cordova-plugin-battery-status插件使用示例249
11.1.4cordova-plugin-whitelist插件說明251
11.2ngCordova插件集253
11.2.1安裝ngCordova插件集253
11.2.2ngCordova插件使用步驟概要254
11.2.3插件$cordovaDevice使用示例257
11.2.4插件$cordovaToast使用示例258
11.2.5插件$cordovaContacts使用示例259
11.2.6插件$cordovaLocalNotification使用示例260
11.2.7插件$cordovaGeolocation使用示例260
11.2.8插件$cordovaVibration使用示例262
11.2.9插件$cordovaCamera使用示例262
11.2.10插件$cordovaSocialSharing使用示例264
11.2.11插件$cordovaNetwork使用示例265
11.2.12插件$cordovaSQLite使用示例266
11.3小結267
第12章后端服務器模擬環境搭建準備268
12.1MongoDB安裝與測試268
12.2Postman安裝與使用示例271
12.3使用Express初始化創建API示例274
12.4使用Mongoose完善數據持久化示例282
12.5使用Passport加入用戶驗證示例287
12.6小結296
第13章項目實戰:逍遙游APPv0.1(UGC+B2C應用)297
13.1項目和代碼說明297
13.1.1項目說明297
13.1.2隨書代碼運行說明298
13.2功能設計298
13.2.1界面與功能概述300
13.2.2服務端API接口概述303
13.3功能實現303
13.3.1準備工作:部署服務器端環境304
13.3.2初始化項目設置與目錄結構305
13.3.3實現總體界面導航與路由306
13.3.4實現側欄菜單功能集312
13.3.5實現旅友行蹤功能集321
13.3.6實現我的足跡功能集332
13.3.7實現預約旅游產品功能集351
13.3.8實現設置功能集363
13.3.9定制啟動屏與APP圖標371
13.4小結與作業練習371
第14章項目實戰:銷售掌中寶v0.1(企業應用)373
14.1項目和代碼說明373
14.1.1項目說明374
14.1.2隨書代碼運行說明374
14.2功能設計375
14.2.1界面與業務功能概述375
14.2.2服務端API接口概述378
14.3功能實現379
14.3.1準備工作:部署服務器端環境379
14.3.2初始化項目設置與目錄結構381
14.3.3完成總體界面導航與路由382
14.3.4實現側欄菜單與登錄/退出功能387
14.3.5實現商機業務功能集391
14.3.6實現拜訪業務功能集404
14.3.7實現客戶業務功能集420
14.3.8實現訂單業務功能集434
14.3.9實現報表顯示與初步配置446
14.4小結與作業練習455
第15章應用的生成與發布更新456
15.1生成發布Android平臺的應用包456
15.1.1生成發布版的apk文件456
15.1.2生成用于簽名的私鑰457
15.1.3對apk文件簽名457
15.1.4優化apk文件并改名458
15.1.5發布Android應用459
15.2生成發布iOS平臺的應用459
15.2.1使用開發者賬戶連接Xcode460
15.2.2簽名460
15.2.3設置應用的標識名461
15.2.4開始應用上架登記462
15.2.5嘗試編譯生成正式發布版的應用465
15.2.6使用Xcode打包APP應用465
15.2.7創建應用的發布檔466
15.2.8完成應用上架登記467
15.3更新應用470
15.4小結471