注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計iOS企業(yè)級應(yīng)用開發(fā)技術(shù)

iOS企業(yè)級應(yīng)用開發(fā)技術(shù)

iOS企業(yè)級應(yīng)用開發(fā)技術(shù)

定 價:¥68.00

作 者: 和凌志 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 程序設(shè)計 計算機/網(wǎng)絡(luò) 移動開發(fā)

ISBN: 9787121328282 出版時間: 2017-10-01 包裝:
開本: 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書聚焦在APP“產(chǎn)品”的設(shè)計、開發(fā)和運營層面,特別強調(diào)架構(gòu)和設(shè)計模式的重要性,有意識地將設(shè)計模式應(yīng)用到代碼的編寫中,重點介紹iOS企業(yè)級應(yīng)用開發(fā)的設(shè)計思維方式,并與全棧開發(fā)技術(shù)結(jié)合起來。 全書分為iOS基礎(chǔ)篇、Web與Native混合開發(fā)模式篇和全棧開發(fā)技術(shù)篇。iOS基礎(chǔ)篇主要介紹iOS基礎(chǔ)知識、多種設(shè)計模式下的視圖控制器之間的傳值、App與服務(wù)器接口的定義、CollectionView的應(yīng)用;Web與Native混合開發(fā)模式篇主要介紹Block的應(yīng)用、iOS網(wǎng)絡(luò)請求、JavaScript基礎(chǔ)、Web與Native的交互;全棧開發(fā)技術(shù)篇主要介紹Node.js、Express、AngularJS、MongoDB、MEAN全棧技術(shù)的實現(xiàn)。

作者簡介

  和凌志,客座教授,工信部人才交流中心認證講師;擁有十多年移動互聯(lián)網(wǎng)開發(fā)經(jīng)驗,先后在 Siemens Mobile、 Flextronics 等歐美公司擔任手機軟件架構(gòu)師。2014年, 為北京高校錄制慕課“iOS企業(yè)級應(yīng)用開發(fā)技術(shù)”。近幾年,專注于全棧技術(shù)開發(fā), 代表產(chǎn)品有“點時”APP ――輕量級知識分享平臺。

圖書目錄

iOS基礎(chǔ)篇

第1章 iOS基礎(chǔ)知識 2

1.1 Objective-C語法簡介 2

1.1.1 Objective-C的奇特之處 2

1.1.2 如何聲明一個實例變量 4

1.1.3 Objective-C字符串 5

1.2 Objective-C的對象類型與基本數(shù)據(jù)類型 6

1.2.1 對象類型與基本數(shù)據(jù)類型的混合使用 6

1.2.2 對象類型與基本數(shù)據(jù)類型的轉(zhuǎn)換 7

1.3 不可變數(shù)組與可變數(shù)組 7

1.3.1 不可變數(shù)組(NSArray)的特征 8

1.3.2 可變數(shù)組(NSMutableArray)的特征 8

1.3.3 如何遍歷數(shù)組中的對象 8

1.3.4 NSArray與NSMutableArray的應(yīng)用 10

1.4 不可變字典與可變字典 11

1.4.1 不可變字典(NSDictionary) 11

1.4.2 可變字典(NSMutableDictionary) 12

1.4.3 如何遍歷字典中的對象 12

1.4.4 NSArray與NSDictionary的應(yīng)用 13

1.4.5 創(chuàng)建類的對象 13

1.5 iOS應(yīng)用程序概述 14

1.5.1 應(yīng)用程序的入口 14

1.5.2 應(yīng)用程序委托(AppDelegate) 14

1.5.3 UIApplication應(yīng)用場景 15

1.5.4 一種簡單的永久數(shù)據(jù)存儲方式 16

1.6 iOS定制化控件 17

1.6.1 定制化View的創(chuàng)建 17

1.6.2 小標簽(UILabel),大用場 19

1.6.3 如何實現(xiàn)輸入框隨鍵盤上移 20

1.7 視圖的層級管理 23

1.7.1 創(chuàng)建視圖的方法 23

1.7.2 如何從父視圖中移除子視圖 25

1.7.3 登錄頁面的實現(xiàn) 26

1.8 iOS編程規(guī)范 28

1.8.1 代碼的可維護性 29

1.8.2 面向?qū)ο蟮木幊趟枷?nbsp;29

1.8.3 優(yōu)先編寫輕量級的ViewController 30

1.9 小結(jié) 31

第2章 視圖控制器之間的傳值 32

2.1 通過Delegate實現(xiàn)ViewController之間的傳值 32

2.1.1 Delegate概述 32

2.1.2 學(xué)習(xí)Delegate的困惑 32

2.1.3 從一道經(jīng)典的面試題說起 33

2.1.4 學(xué)習(xí)Delegate常出現(xiàn)的幾個誤區(qū) 33

2.1.5 Delegate技術(shù)難點在哪里 34

2.1.6 數(shù)據(jù)逆向傳送一定要通過Delegate嗎 34

2.1.7 Delegate應(yīng)用五步曲 35

2.1.8 Delegate優(yōu)勢 38

2.2 通過單例實現(xiàn)ViewController之間的傳值 38

2.2.1 單例的創(chuàng)建 39

2.2.2 單例的初始化 40

2.2.3 單例設(shè)計模式的本質(zhì) 41

2.2.4 通過單例實現(xiàn)傳值 41

2.2.5 單例模式在登錄模塊中的應(yīng)用 42

2.2.6 單例模式的優(yōu)勢 44

2.3 通過KVO實現(xiàn)ViewController之間的傳值 44

2.3.1 什么是KVC 44

2.3.2 什么是KVO 45

2.3.3 KVO的特點 46

2.3.4 使用KVO的步驟 46

2.3.5 KVO的實現(xiàn)方法 46

2.3.6 KVO應(yīng)用注意事項 50

2.4 通過NSNotification實現(xiàn)ViewController之間的傳值 50

2.4.1 NSNotification的定義 51

2.4.2 NSNotificationCenter 51

2.4.3 發(fā)出通知 51

2.4.4 接收通知 52

2.4.5 移除通知 52

2.4.6 異步模式下的通知操作 53

2.4.7 通過NSNotification實現(xiàn)ViewController之間的傳值 53

2.4.8 NSNotification與Delegate的區(qū)別 55

2.4.9 監(jiān)聽系統(tǒng)自帶的NSNotification 56

2.5 小結(jié) 58

第3章 App與服務(wù)器接口的定義 59

3.1 關(guān)于JSON的認識 59

3.2 App與服務(wù)器接口的定義 61

3.2.1 App與后臺的接口設(shè)計 61

3.2.2 后臺返回的數(shù)據(jù)格式 61

3.2.3 后臺返回的提示信息 62

3.3 JSON與Model的轉(zhuǎn)換 62

3.3.1 JSONModel常見的用法 63

3.3.2 JSONModel的幾個屬性用法 67

3.4 小結(jié) 69

第4章 CollectionView的應(yīng)用 70

4.1 CollectionView與TableView孰優(yōu)孰劣 70

4.1.1 TableView的應(yīng)用場景 70

4.1.2 CollectionView的應(yīng)用場景 71

4.1.3 CollectionView與TableView概念對比 71

4.1.4 CollectionView與TableView的性能對比 71

4.2 什么是UICollectionView 71

4.3 實現(xiàn)一個簡單的UICollectionView 72

4.4 UICollectionViewCell視圖層級 73

4.5 UICollectionViewDataSource 74

4.6 關(guān)于Cell的重用 74

4.7 UICollectionViewDelegate 75

4.8 UICollectionViewLayout 76

4.9 實現(xiàn)一個簡單的瀑布流 77

4.9.1 通過手動編碼創(chuàng)建UICollectionView 78

4.9.2 直接拖曳一個CollectionViewController 81

4.9.3 基于Xib創(chuàng)建一個UICollectionViewCell 86

4.10 自定義瀑布流的應(yīng)用場景 88

4.11 自定義Flow Layout進行瀑布流布局 88

4.11.1 自定義瀑布流的應(yīng)用場景 89

4.11.2 自定義瀑布流的實現(xiàn)思路 90

4.11.3 創(chuàng)建自定義的Flow Layout 90

4.11.4 創(chuàng)建自定義的CollectionViewCell 92

4.11.5 關(guān)于initWithFrame:方法的使用 93

4.11.6 自定義瀑布流的完整實現(xiàn) 94

4.11.7 UICollectionView相關(guān)的類圖 96

4.11.8 如何實現(xiàn)UICollectionView的輪播 97

4.12 CollectionView與TableView的區(qū)別 98

4.13 圖片輪播的實現(xiàn)思路 98

4.14 CollectionView注意事項 99

4.15 小結(jié) 100

Web與Native混合開發(fā)模式

第5章 Block的應(yīng)用 102

5.1 Block緣起 102

5.2 Block概述 103

5.3 Block的聲明、實現(xiàn)與調(diào)用 104

5.3.1 Block的聲明 104

5.3.2 Block的實現(xiàn) 106

5.3.3 Block的調(diào)用 108

5.3.4 Block外部變量的訪問 109

5.4 Block的應(yīng)用場景 110

5.4.1 Block用于completionHandler 110

5.4.2 Block聲明為實例變量 113

5.4.3 typedef Block 114

5.5 通過Block實現(xiàn)視圖控制器之間的逆向傳值 115

5.5.1 應(yīng)用場景 115

5.5.2 代碼實現(xiàn) 115

5.6 小結(jié) 118

第6章 iOS網(wǎng)絡(luò)請求 119

6.1 iOS網(wǎng)絡(luò)請求概述 119

6.2 AFNetworking的應(yīng)用 119

6.2.1 AFNetworking概述 119

6.2.2 AFNetworking框架使用方法 121

6.2.3 影響網(wǎng)絡(luò)請求的幾個條件 122

6.2.4 善用URL宏定義 124

6.2.5 URl接口應(yīng)統(tǒng)一管理 124

6.2.6 AFNetworking的二次封裝 126

6.3 AFNetworking的序列化問題 126

6.3.1 AFNetworking請求格式 127

6.3.2 AFNetworking響應(yīng)格式 128

6.4 異步請求數(shù)據(jù)并刷新UI頁面 128

6.5 遠程文件下載 130

6.5.1 基于AFNetworking的文件下載 130

6.5.2 基于NSURLSession的文件下載 132

6.5.3 網(wǎng)絡(luò)安全訪問設(shè)置 133

6.6 小結(jié) 134

第7章 JavaScript基礎(chǔ) 135

7.1 JavaScript語法 135

7.2 變量的聲明與賦值 136

7.3 如何判斷兩個字符串是否相等 137

7.4 創(chuàng)建JavaScript對象的三種方法 138

7.5 函數(shù)聲明與函數(shù)表達式 140

7.6 可立即調(diào)用的函數(shù)表達式 143

7.7 循環(huán)的實現(xiàn) 145

7.8 防止JavaScript自動插入分號 146

7.9 嚴格模式 147

7.10 如何運行與調(diào)試JavaScript代碼 148

7.10.1 把JavaScript代碼內(nèi)嵌到HTML頁面中 148

7.10.2 通過Node.js運行JavaScript代碼 150

7.11 JavaScript的面向?qū)ο笤O(shè)計思想 150

7.12 JavaScript的異步編程模式 151

7.12.1 Promise對象 152

7.12.2 生成Promise實例對象 152

7.12.3 Promise原型方法 154

7.12.4 Promise的catch方法 154

7.13 如何在HTML中嵌入JavaScript 155

7.13.1 <script>標簽 155

7.13.2 <script>標簽的位置 156

7.13.3 嵌入JavaScript代碼與外部文件引用 157

7.14 JavaScript與JSON 157

7.15 小結(jié) 158

第8章 Web與Native的交互 159

8.1 混合開發(fā)模式概述 159

8.1.1 Webkit簡介 159

8.1.2 JavaScriptCore簡介 160

8.1.3 Objective-C調(diào)用JavaScript 160

8.2 網(wǎng)頁調(diào)用iOS的原生方法 162

8.2.1 應(yīng)用場景 162

8.2.2 技術(shù)實現(xiàn)思路 163

8.2.3 代碼實現(xiàn) 163

8.2.4 代碼解讀 164

8.2.5 Objective-C與JavaScript的數(shù)據(jù)類型 166

8.2.6 Objective-C訪問HTML文件 167

8.3 iOS調(diào)用JavaScript 168

8.3.1 Objective-C調(diào)用JavaScript代碼 169

8.3.2 Objective-C獲取JavaScript中的變量 170

8.3.3 在Objective-C中,調(diào)用帶有參數(shù)的JavaScript函數(shù) 170

8.3.4 在Objective-C中調(diào)用不帶參數(shù)的JavaScript函數(shù) 171

8.4 JavaScript調(diào)用Objective-C代碼 172

8.4.1 JavaScript調(diào)用Objective-C代碼 172

8.4.2 JavaScript調(diào)用Objective-C函數(shù)對象 173

8.5 小結(jié) 174

全棧開發(fā)技術(shù)

第9章 Node.js入門指南 176

9.1 概述 176

9.2 Node.js生態(tài) 176

9.3 Node開發(fā)環(huán)境的搭建 177

9.4 Node.js驗證 177

9.5 第一個Node.js工程 178

9.5.1 創(chuàng)建Node.js工程 178

9.5.2 運行Node.js工程 179

9.5.3 Node.js服務(wù)的自動重啟 181

9.6 小結(jié) 182

第10章 Express――后端框架 183

10.1 概述 183

10.2 Express工程的創(chuàng)建 183

10.3 Express中的GET與POST請求 184

10.3.1 GET請求 184

10.3.2 POST請求 185

10.4 小結(jié) 185

第11章 AngularJS――Google前端框架 186

11.1 AngularJS概述 186

11.2 AngularJS指令概述 188

11.2.1 AngualrJS指令:ng-app 188

11.2.2 AngularJS指令:ng-init 189

11.2.3 AngularJS指令:ng-model 189

11.2.4 ng-app與ng-model示例 189

11.2.5 AngularJS指令:ng-click 191

11.3 AngularJS構(gòu)建單頁面應(yīng)用 191

11.3.1 單頁面應(yīng)用的優(yōu)勢 191

11.3.2 輕松構(gòu)建單頁面應(yīng)用 193

11.3.3 單頁面應(yīng)用的實現(xiàn) 194

11.4 AngularJS的加載 199

11.4.1 AngularJS的引用 199

11.4.2 加載AngularJS靜態(tài)資源庫 199

11.5 AngularJS控制器 200

11.5.1 AngularJS控制器的創(chuàng)建 200

11.5.2 AngularJS控制器的應(yīng)用 200

11.5.3 AngularJS的數(shù)據(jù)綁定 202

11.6 $scope用法 204

11.7 小結(jié) 207

第12章 MongoDB――文檔數(shù)據(jù)庫 208

12.1 MongoDB概述 208

12.1.1 關(guān)于MongoDB 208

12.1.2 MongoDB的歷史 208

12.1.3 MongoDB的優(yōu)勢 209

12.2 MongoDB的安裝與應(yīng)用 209

12.2.1 MongoDB的安裝 209

12.2.2 啟動MongoDB 210

12.2.3 MongoDB的可視化管理 210

12.3 用mongoose操作MongoDB 213

12.3.1 mongoose概述 213

12.3.2 初識mongoose 214

12.3.3 mongoose的安裝 214

12.3.4 mongoose連接數(shù)據(jù)庫 214

12.3.5 Schema 215

12.3.6 Model及其操作 216

12.3.7 插入 216

12.3.8 查詢 216

12.3.9 更新 218

12.3.10 刪除 219

12.4 小結(jié) 220

第13章 MEAN全棧技術(shù)的實現(xiàn) 221

13.1 應(yīng)用場景 221

13.2 安裝Express 221

13.3 創(chuàng)建Express工程 222

13.4 構(gòu)建登錄頁面 227

13.4.1 構(gòu)建登錄的靜態(tài)頁面 227

13.4.2 構(gòu)建路由 230

13.4.3 添加路由中間件 231

13.5 構(gòu)建注冊頁面 232

13.5.1 靜態(tài)頁面的創(chuàng)建 232

13.5.2 構(gòu)建注冊頁面的路由 234

13.5.3 添加路由中間件 237

13.6 小結(jié) 237

參考文獻 238


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號