iOS企業級應用開發技術 iOS企业级应用开发技术
和凌志
- 出版商: 電子工業
- 出版日期: 2017-10-01
- 定價: $408
- 售價: 8.3 折 $339
- 語言: 簡體中文
- 頁數: 237
- 裝訂: 平裝
- ISBN: 7121328283
- ISBN-13: 9787121328282
-
相關分類:
Apple Developer
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$200$170 -
$250Objective-C 高級編程-iOS 與 OS X 多線程和內存管理
-
$594$564 -
$254iOS Auto Layout 開發秘籍, 2/e
-
$454OpenCV 圖像處理編程實例
-
$250Learning hard C# 學習筆記
-
$403CUDA 高性能並行計算
-
$454高性能iOS應用開發 (High Performance iOS Apps: Optimize your code for better apps)
-
$332ASP.NET Core 跨平臺開發從入門到實戰
-
$420$378 -
$450$356 -
$594$564 -
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$301騰訊 iOS 測試實踐
-
$520$442 -
$450$356 -
$450$383 -
$580$458 -
$352自己動手做iOS App:從設計開發到上架App Store
-
$1,200$948 -
$450$383 -
$850$663 -
$450$356 -
$380$296 -
$650$585
相關主題
商品描述
本書聚焦在APP“產品”的設計、開發和運營層面,特別強調架構和設計模式的重要性,有意識地將設計模式應用到代碼的編寫中,重點介紹iOS企業級應用開發的設計思維方式,並與全棧開發技術結合起來。 全書分為iOS基礎篇、Web與Native混合開發模式篇和全棧開發技術篇。iOS基礎篇主要介紹iOS基礎知識、多種設計模式下的視圖控制器之間的傳值、App與服務器接口的定義、CollectionView的應用;Web與Native混合開發模式篇主要介紹Block的應用、iOS網絡請求、JavaScript基礎、Web與Native的交互;全棧開發技術篇主要介紹Node.js、Express、AngularJS、MongoDB、MEAN全棧技術的實現。
目錄大綱
iOS基礎篇
第1章iOS基礎知識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的對像類型與基本數據類型6
1.2.1對像類型與基本數據類型的混合使用6
1.2.2對像類型與基本數據類型的轉換7
1.3不可變數組與可變數組7
1.3.1不可變數組( NSArray)的特徵8
1.3.2可變數組(NSMutableArray)的特徵8
1.3.3如何遍歷數組中的對象8
1.3.4 NSArray與NSMutableArray的應用10
1.4不可變字典與可變字典11
1.4.1不可變字典(NSDictionary) 11
1.4.2可變字典(NSMutableDictionary) 12
1.4.3如何遍歷字典中的對象12
1.4.4 NSArray與NSDictionary的應用13
1.4.5創建類的對象13
1.5 iOS應用程序概述14
1.5. 1應用程序的入口14
1.5.2應用程序委託(AppDelegate) 14
1.5.3 UIApplication應用場景15
1.5.4一種簡單的永久數據存儲方式16
1.6 iOS定制化控件17
1.6.1定制化View的創建17
1.6.2小標籤(UILabel),大用場19
1.6.3如何實現輸入框隨鍵盤上移20
1.7視圖的層級管理23
1.7.1創建視圖的方法23
1.7.2如何從父視圖中移除子視圖25
1.7.3登錄頁面的實現26
1.8 iOS編程規範28
1.8. 1代碼的可維護性29
1.8.2面向對象的編程思想29
1.8.3優先編寫輕量級的ViewController 30
1.9小結31
第2章視圖控制器之間的傳值32
2.1通過Delegate實現ViewController之間的傳值32
2.1.1 Delegate概述32
2.1.2學習Delegate的困惑32
2.1.3從一道經典的面試題說起33
2.1.4學習Delegate常出現的幾個誤區33
2.1.5 Delegate技術難點在哪裡34
2.1.6數據逆向傳送一定要通過Delegate嗎34
2.1.7 Delegate應用五步曲35
2.1.8 Delegate優勢38
2.2通過單例實現ViewController之間的傳值38
2.2.1單例的創建39
2.2.2單例的初始化40
2.2.3單例設計模式的本質41
2.2.4通過單例實現傳值41
2.2. 5單例模式在登錄模塊中的應用42
2.2.6單例模式的優勢44
2.3通過KVO實現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的實現方法46
2.3.6 KVO應用注意事項50
2.4通過NSNotification實現ViewController之間的傳值50
2.4.1 NSNotification的定義51
2.4.2 NSNotificationCenter 51
2.4 .3發出通知51
2.4.4接收通知52
2.4.5移除通知52
2.4.6異步模式下的通知操作53
2.4.7通過NSNotification實現ViewController之間的傳值53
2.4.8 NSNotification與Delegate的區別55
2.4.9監聽系統自帶的NSNotification 56
2.5小結58
第3章App與服務器接口的定義59
3.1關於JSON的認識59
3.2 App與服務器接口的定義61
3.2.1 App與後台的接口設計61
3.2.2後台返回的數據格式61
3.2.3後台返回的提示信息62
3.3 JSON與Model的轉換62
3.3.1 JSONModel常見的用法63
3.3.2 JSONModel的幾個屬性用法67
3.4小結69
第4章CollectionView的應用70
4.1 CollectionView與TableView孰優孰劣70
4.1 .1 TableView的應用場景70
4.1.2 CollectionView的應用場景71
4.1.3 CollectionView與TableView概念對比71
4.1.4 CollectionView與TableView的性能對比71
4.2什麼是UICollectionView 71
4.3實現一個簡單的UICollectionView 72
4.4 UICollectionViewCell視圖層級73
4.5 UICollectionViewDataSource 74
4.6關於Cell的重用74
4.7 UICollectionViewDelegate 75
4.8 UICollectionViewLayout 76
4.9實現一個簡單的瀑布流77
4.9.1通過手動編碼創建UICollectionView 78
4.9.2直接拖曳一個CollectionViewController 81
4.9.3基於Xib創建一個UICollectionViewCell 86
4.10自定義瀑布流的應用場景88
4.11自定義Flow Layout進行瀑布流佈局88
4.11.1自定義瀑布流的應用場景89
4.11.2自定義瀑布流的實現思路90
4.11.3創建自定義的Flow Layout 90
4.11.4創建自定義的CollectionViewCell 92
4.11.5關於initWithFrame:方法的使用93
4.11.6自定義瀑布流的完整實現94
4.11.7 UICollectionView相關的類圖96
4.11.8如何實現UICollectionView的輪播97
4.12 CollectionView與TableView的區別98
4.13圖片輪播的實現思路98
4.14 CollectionView注意事項99
4.15小結100
Web與Native混合開發模式
第5章Block的應用102
5.1 Block緣起102
5.2 Block概述103
5.3 Block的聲明、實現與調用104
5.3.1 Block的聲明104
5.3.2 Block的實現106
5.3.3 Block的調用108
5.3.4 Block外部變量的訪問109
5.4 Block的應用場景110
5.4 .1 Block用於completionHandler 110
5.4.2 Block聲明為實例變量113
5.4.3 typedef Block 114
5.5通過Block實現視圖控制器之間的逆向傳值115
5.5.1應用場景115
5.5.2代碼實現115
5.6小結118
第6章iOS網絡請求119
6.1 iOS網絡請求概述119
6.2 AFNetworking的應用119
6.2.1 AFNetworking概述119
6.2.2 AFNetworking框架使用方法121
6.2.3影響網絡請求的幾個條件122
6.2.4善用URL宏定義124
6.2.5 URl接口應統一管理124
6.2.6 AFNetworking的二次封裝126
6.3 AFNetworking的序列化問題126
6.3.1 AFNetworking請求格式127
6.3.2 AFNetworking響應格式128
6.4異步請求數據並刷新UI頁面128
6.5遠程文件下載130
6.5.1基於AFNetworking的文件下載130
6.5.2基於NSURLSession的文件下載132
6.5.3網絡安全訪問設置133
6.6小結134
第7章JavaScript基礎135
7.1 JavaScript語法135
7.2變量的聲明與賦值136
7.3如何判斷兩個字符串是否相等137
7.4創建JavaScript對象的三種方法138
7.5函數聲明與函數表達式140
7.6可立即調用的函數表達式143
7.7循環的實現145
7.8防止JavaScript自動插入分號146
7.9嚴格模式147
7.10如何運行與調試JavaScript代碼148
7.10.1把JavaScript代碼內嵌到HTML頁面中148
7.10.2通過Node.js運行JavaScript代碼150
7.11 JavaScript的面向對象設計思想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小結158
第8章Web與Native的交互159
8.1混合開發模式概述159
8.1.1 Webkit簡介159
8.1.2 JavaScriptCore簡介160
8.1.3 Objective-C調用JavaScript 160
8.2網頁調用iOS的原生方法162
8.2.1應用場景162
8.2.2技術實現思路163
8.2.3代碼實現163
8.2.4代碼解讀164
8.2.5 Objective-C與JavaScript的數據類型166
8.2.6 Objective-C訪問HTML文件167
8.3 iOS調用JavaScript 168
8.3.1 Objective-C調用JavaScript代碼169
8.3.2 Objective-C獲取JavaScript中的變量170
8.3.3在Objective-C中,調用帶有參數的JavaScript函數170
8.3.4在Objective-C中調用不帶參數的JavaScript函數171
8.4 JavaScript調用Objective-C代碼172
8.4.1 JavaScript調用Objective-C代碼172
8.4.2 JavaScript調用Objective-C函數對象173
8.5小結174
全棧開發技術
第9章Node.js入門指南176
9.1概述176
9.2 Node.js生態176
9.3 Node開發環境的搭建177
9.4 Node.js驗證177
9.5第一個Node.js工程178
9.5.1創建Node.js工程178
9.5.2運行Node.js工程179
9.5.3 Node.js服務的自動重啟181
9.6小結182
第10章Express——後端框架183
10.1概述183
10.2 Express工程的創建183
10.3 Express中的GET與POST請求184
10.3.1 GET請求184
10.3.2 POST請求185
10.4小結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構建單頁面應用191
11.3.1單頁面應用的優勢191
11.3.2輕鬆構建單頁面應用193
11.3.3單頁面應用的實現194
11.4 AngularJS的加載199
11.4.1 AngularJS的引用199
11.4.2加載AngularJS靜態資源庫199
11.5 AngularJS控制器200
11.5.1 AngularJS控制器的創建200
11.5.2 AngularJS控制器的應用200
11.5 .3 AngularJS的數據綁定202
11.6 $scope用法204
11.7小結207
第12章MongoDB——文檔數據庫208
12.1 MongoDB概述208
12.1.1關於MongoDB 208
12.1.2 MongoDB的歷史208
12.1.3 MongoDB的優勢209
12.2 MongoDB的安裝與應用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連接數據庫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小結220
第13章MEAN全棧技術的實現221
13.1應用場景221
13.2安裝Express 221
13.3創建Express工程222
13.4構建登錄頁面227
13.4.1構建登錄的靜態頁面227
13.4.2構建路由230
13.4.3添加路由中間件231
13.5構建註冊頁面232
13.5.1靜態頁面的創建232
13.5.2構建註冊頁面的路由234
13.5.3添加路由中間件237
13.6小結237
參考文獻238