《React Native全教程:移動端跨平台套用開發》是2018年清華大學出版社出版的圖書,作者是張益琿。
基本介紹
- 中文名:React Native全教程:移動端跨平台套用開發
- 作者:張益琿
- 出版時間:2018年04月01日
- 出版社:清華大學出版社
- ISBN:9787302498131
- 定價:79 元
內容簡介,圖書目錄,
內容簡介
《React Native全教程:移動端跨平台套用開發》由經驗豐富的移動開發工程師精心編撰,《React Native全教程:移動端跨平台套用開發》從邏輯上可分為5個部分,循序漸進地向讀者展示使用React Native開發跨平台移動套用的全流程,第1部分介紹React Native語言基礎JavaScript;第2部分介紹大量使用於React Native開發中的ECMAScript 6的新特性;第3部分介紹React Native開發技巧,包括獨立組件套用、布局技術、網路技術、導航棧技術等;第4部分通過3個實戰項目手把手地教讀者開發完整的ReactNative套用;第5部分介紹ReactNative的一些高級技巧,比如和原生互動、嵌入原生套用、ReactNative組件開發等。本書特別對ReactNative在開發iOS和Android跨平台套用時給出範例效果對比演示,現場感十足。
《ReactNative全教程:移動端跨平台套用開發》既適合想快速上手ReactNative的初學者、有Android和iOS開發基礎想構建跨平台移動套用的開發人員使用,也可用作培訓機構和大中專院校的教學參考書。
圖書目錄
第1章 從JavaScript開始 1
1.1 學習環境的配置 1
1.1.1 使用瀏覽器進行JavaScript代碼的調試 1
1.1.2 使用Sublime Text工具來編寫JavaScript代碼 3
1.1.3 安裝Sublime Text外掛程式管理器PackageControl 3
1.1.4 使用PackageControl進行JavaScript代碼智慧型提示外掛程式的安裝 5
1.1.5 安裝JavaScript代碼格式化外掛程式 7
1.1.6 在Sublime Text中運行JavaScript代碼 7
1.2 初識JavaScript 8
1.2.1 JavaScript的語法特點 9
1.2.2 JavaScript中的變數 10
1.3 JavaScript中的數據類型 12
1.3.1 原始類型 13
1.3.2 引用類型 16
1.4 JavaScript中的運算符 18
1.4.1 算術運算符 18
1.4.2 賦值運算符 21
1.4.3 關係運算符 22
1.4.4 邏輯運算符 24
1.4.5 位運算符 26
1.4.6 特殊運算符 30
1.4.7 運算符的優先權與結合性 32
第2章 JavaScript流程控制與函式 34
2.1 條件分支結構 34
2.1.1 if-else分支結構 34
2.1.2 switch-case分支結構 35
2.2 循環結構 37
2.2.1 while循環結構 37
2.2.2for循環結構 38
2.3中斷與跳轉結構 39
2.3.1break語句 39
2.3.2continue語句 41
2.4異常捕獲結構 42
2.4.1使用throw語句拋出異常 43
2.4.2異常的捕獲與處理 44
2.4.3異常的傳遞 46
2.5JavaScript中的函式 48
2.5.1使用函式語句定義函式 48
2.5.2使用函式表達式定義函式 50
2.5.3使用Function構造函式 51
第3章JavaScript對象基礎 52
3.1初識JavaScript對象 52
3.1.1在JavaScript中創建對象 52
3.1.2設定對象的屬性和行為 54
3.2JavaScript中常用的內置對象 55
3.2.1JavaScript中的Number對象 55
3.2.2JavaScript中的String對象 57
3.2.3JavaScript中的Boolean對象 59
3.2.4JavaScript中的Array對象 60
3.2.5JavaScript中的Date對象 64
3.2.6JavaScript中的Math對象 67
3.2.7JavaScript中的RegExp對象 69
3.2.8JavaScript中的Function對象 73
3.3深入JavaScript中的Object對象 75
3.3.1為對象屬性進行配置 76
3.3.2Object構造方法對象中的常用函式 77
3.3.3Object實例對象中的常用方法 82
3.4面向對象編程技術 82
3.4.1JavaScript中模擬類的方式 83
3.4.2在JavaScript中實現繼承機制 86
第4章ECMAScript6新特性 91
4.1ECMAScript6的塊級作用域 91
4.1.1let關鍵字 92
4.1.2const關鍵字 94
4.2解構賦值 95
4.2.1數組的解構賦值 95
4.2.2對象的解構賦值 96
4.2.3字元串與函式參數的解構賦值 98
4.3箭頭函式 99
4.3.1箭頭函式的基本用法 99
4.3.2箭頭函式中this的固化 100
4.4Set與Map數據結構 102
4.4.1Set集合結構 102
4.4.2Map字典結構 104
4.5Proxy代理 106
4.5.1使用Proxy代理對對象的屬性讀寫進行攔截 106
4.5.2Proxy代理處理器支持的攔截操作 108
4.6Promise承諾對象 110
4.6.1Promise對象執行異步任務 110
4.6.2Promise任務鏈 112
4.6.3Promise對象組合 113
4.7Generator生成器與yield語句 115
4.7.1Generator函式套用 115
4.7.2Generator任務參數的傳遞 117
4.8使用class定義類 119
4.8.1使用class定義類 119
4.8.2class類的繼承 120
4.9模組引入 121
4.9.1export關鍵字 121
4.9.2import關鍵字 122
4.9.3默認導出與導入 122
第5章ReactNative開發環境的搭建 124
5.1iOS開發環境的搭建 124
5.1.1申請AppleID賬號 124
5.1.2安裝Xcode開發工具 125
5.2Android開發環境的搭建 126
5.2.1下載AndroidStudio開發工具 126
5.2.2安裝相關SDK和模擬器 127
5.3ReactNative開發環境配置 130
5.3.1安裝ReactNative構建環境 130
5.3.2運行你的第一個ReactNative套用 131
第6章ReactNative獨立組件基礎篇 134
6.1Text文本組件的套用 134
6.1.1文字風格設定 134
6.1.2Text組件屬性的設定 138
6.1.3Text組件的嵌套 140
6.1.4ReactNative程式的調試 141
6.2Button按鈕組件的套用 142
6.2.1Button組件的簡單使用 142
6.2.2小套用:螢幕霓虹燈 144
6.3Image圖像組件的套用 145
6.3.1渲染圖像的方式 145
6.3.2Image組件的風格自定義 148
6.3.3Image組件的屬性和方法解析 151
6.4Switch開關組件的套用 154
6.5Slider滑塊組件的套用 156
6.6ActivityIndicator指示器組件的套用 159
6.7TextInput用戶輸入組件的套用 160
6.8StatusBar狀態欄組件的套用 165
6.9Picker選擇器組件的套用 167
6.10Modal模態視圖組件的套用 169
6.11KeyboardAvoidingView組件的套用 171
6.12WebView網頁組件的套用 174
6.12.1WebView常用屬性解析 174
6.12.2WebView載入過程監聽相關屬性 177
6.12.3ReactNative與WebView互動 178
6.13View視圖組件的套用 179
6.13.1View組件Style屬性的解析 180
6.13.2View組件基礎屬性的解析 182
6.14Touchable相關互動組件的套用 183
6.14.1TouchableWithoutFeedback 184
6.14.2TouchableOpacity 185
6.14.3TouchableNativeFeedback 186
6.14.4TouchableHighlight 188
6.15ScrollView滾動視圖組件的套用 189
6.15.1ScrollView的基礎用法 189
6.15.2ScrollView常用屬性解析 190
6.15.3手動設定ScrollView組件的滾動位置 192
6.16ListView列表組件的套用 193
6.16.1使用DataSource渲染ListView視圖 193
6.16.2ListView屬性方法解析 197
6.17高性能列表組件FlatList 199
6.17.1創建一個簡單的FlatList列表視圖 199
6.17.2FlatList中常用方法解析 202
6.18分區列表組件SectionList的套用 202
6.19RefreshControl刷新組件的套用 205
第7章ReactNative獨立組件高級篇 208
7.1時間選擇器DatePickerIOS組件的套用 208
7.2DrawerLayoutAndroid抽屜組件的套用 209
7.3進度條組件的套用 211
7.3.1通過檔案名稱分平台載入組件 212
7.3.2ProgressBarAndroid組件常用屬性 213
7.3.3ProgressViewIOS組件常用屬性 214
7.4SegmentedControlIOS組件的套用 214
7.5Android平台上的工具條組件 215
7.6Navigator導航控制器 218
7.6.1Navigatior牛刀小試 219
7.6.2Navigator屬性配置 220
7.6.3Navigator實例方法解析 221
7.7iOS平台的導航控制器NavigatorIOS組件 222
7.7.1使用NavigatorIOS組件 222
7.7.2NavigatorIOS屬性與方法解析 225
7.8標籤欄TabBarIOS組件 226
第8章ReactNative技能進階 230
8.1ReactNative布局技術 230
8.1.1布局中的主軸與次軸 231
8.1.2精準定義組件的尺寸 234
8.1.3相對定位與絕對定位 237
8.2ReactNative中的顏色定義 240
8.3警告彈窗的套用 242
8.3.1Alert組件的套用 243
8.3.2iOS平台專用警告框AlertIOS 245
8.4ActionSheetIOS抽屜視圖的套用 247
8.4.1普通功能列表抽屜 247
8.4.2分享視圖抽屜 248
8.5自定義組件的屬性與使用樣式表 250
8.5.1自定義組件的屬性 250
8.5.2通過StyleSheet樣式表定義組件的風格 251
8.6Android平台的時間選擇器 252
8.7Android平台懸浮提示信息Toast的套用 254
8.8監聽與控制Android設備返回鍵的行為 255
8.9監聽程式運行狀態 257
8.10跨平台的分享功能 258
8.11監聽鍵盤事件 260
8.12ReactNative網路技術 262
8.12.1使用fetch方法進行網路請求 262
8.12.2使用XMLHttpRequest進行網路請求 264
8.13進行用戶位置獲取 266
8.14數據持久化技術 267
8.15剪貼簿工具的套用 270
8.16獲取設備網路狀態 271
8.17ReactNative動畫技術 273
8.17.1創建單值驅動的動畫 273
8.17.2使用timing方法執行平滑過渡動畫 275
8.17.3深入理解easing 276
8.17.4二維動畫對象與衰減動畫 278
8.17.5彈簧動畫 280
8.17.6Interpolation插值動畫 281
8.17.7聚合動畫值 282
8.17.8組合動畫 283
8.17.9循環動畫 285
8.17.10布局動畫 286
8.17.11自定義組件動畫 287
8.18調用設備振動模組 288
8.19封裝滑動手勢 289
8.20獲取螢幕尺寸信息 292
8.21特定平台代碼 293
8.22定時器的簡單套用 294
第9章實戰項目:匯率轉換器 296
9.1搭建匯率轉換器項目主界面 297
9.2顯示屏面板的初步開發 299
9.3貨幣類型切換功能開發 302
9.4鍵盤界面設計 306
9.5實現匯率轉換器核心功能 310
第10章實戰項目:微信熱門精選 315
10.1申請免費的API服務 315
10.2搭建項目網路模組 317
10.3搭建文章列表界面 319
10.4文章目錄視圖與首頁導航欄完善 322
10.5文章詳情頁面的開發 326
10.6為文章列表頁添加下拉刷新與上拉載入更多功能 329
第11章實戰項目:掌上新聞 332
11.1套用結構搭建 332
11.2完善標題欄組件 335
11.3進行網路模組的開發 338
11.4使用列表展示數據 339
11.5完善新聞目錄列表 341
11.6標題欄與頁面聯動開發與最佳化載入邏輯 344
11.7使用導航進行頁面跳轉 348
11.8完善下拉刷新與上拉載入更多功能 351
11.9完善導航欄 353
11.10添加收藏夾功能 356
11.11最佳化方向與套用圖示設定 361
第12章ReactNative高級技巧 363
12.1直接操作組件的屬性 363
12.2對ReactNative版本進行升級 365
12.3ReactNative的更多調試技巧 366
12.4ReactNative外掛程式開發 367
12.4.1構建iOS工程的原生模組 367
12.4.2構建Android工程的原生模組 371
12.4.3深入了解原生模組的函式參數 373
12.5封裝原生UI組件 375
12.5.1封裝iOS平台的原生UI組件 375
12.5.2開發Android跑馬燈組件 382
12.6在原生工程中嵌入ReactNative模組 387
12.6.1將iOS工程的某個模組進行ReactNative化 387
12.6.2將Android工程的某個模組進行ReactNative化 391
12.7在真機上運行ReactNative工程 397