使用React Native可以輕松開發(fā)跨平臺(tái)應(yīng)用,并且無需等待Apple、Google或者Amazon的審核過程,就可以為自己的應(yīng)用發(fā)布更新。《React Native應(yīng)用開發(fā)實(shí)例解析》主要從功能擴(kuò)展和實(shí)際應(yīng)用方面講解React Native,帶領(lǐng)讀者全面了解React Native的API和組件,并且閱讀本書無需React開發(fā)背景。《React Native應(yīng)用開發(fā)實(shí)例解析》共五章,前兩章介紹React Native的歷史發(fā)展和基礎(chǔ)知識(shí),包括原生組件和第三方庫;余下三章則分別介紹三個(gè)企業(yè)應(yīng)用——Myagi、TinyRobot和Fixt,探討了當(dāng)今業(yè)界使用React Native的方式,以及生產(chǎn)環(huán)境下需要注意的問題和相應(yīng)對(duì)策。
《React Native應(yīng)用開發(fā)實(shí)例解析》適合客戶端開發(fā)人員、前端開發(fā)人員,以及所有對(duì)React Native感興趣的程序員。
所在的開發(fā)團(tuán)隊(duì)規(guī)模較小,但想要為iOS和Android兩個(gè)平臺(tái)開發(fā)應(yīng)用?
早就聽說過React Native的大名,卻不清楚是否適合開發(fā)自己的應(yīng)用?
研究無數(shù)代碼之后,想要了解更多React Native在當(dāng)今業(yè)界的實(shí)際使用情況?
如果你有以上困惑,那么本書不容錯(cuò)過!
● 了解React Native部署過程與原生模塊的使用
● 用JavaScript、Java和Objective-C創(chuàng)建自定義原生組件、異步調(diào)用、第三方庫鏈接
● 自定義構(gòu)建腳本的實(shí)現(xiàn),以及如何在iOS、Android、Web應(yīng)用間共享代碼
● 無bug移動(dòng)應(yīng)用的維護(hù)
● 靜態(tài)類型檢查、依賴注入以及應(yīng)用狀態(tài)管理
● 如何從UI中分離業(yè)務(wù)邏輯,如何實(shí)現(xiàn)UI測(cè)試
● 如何利用React Native實(shí)現(xiàn)特定用途
【作者簡(jiǎn)介】
Alexander McLeod
銷售人員在線訓(xùn)練平臺(tái)Myagi的CTO。
Pavlo Aksonov
經(jīng)驗(yàn)豐富的軟件開發(fā)人員,活躍的開源貢獻(xiàn)者,有超過15年的Web和移動(dòng)端開發(fā)經(jīng)驗(yàn)。
Arjun Komath
精通多門語言的程序員,活躍的開源貢獻(xiàn)者,用React Native開發(fā)了Product Hunt的開源Android客戶端Feline。
Atticus White
就職于波士頓的Robin Powered公司,精通React Native、Angular以及NodeJS開發(fā)。
Isaac Madwed
全棧工程師,就職于Fixt。
【譯者簡(jiǎn)介】
林昊
畢業(yè)于華中科技大學(xué),現(xiàn)就職于網(wǎng)龍工程院前端團(tuán)隊(duì),熱衷技術(shù)翻譯,喜歡探索現(xiàn)代Web技術(shù),對(duì)大前端的發(fā)展有濃厚興趣。
第1章 用JavaScript開發(fā)移動(dòng)應(yīng)用 1
1.1 過去 2
1.2 現(xiàn)狀 2
1.3 React的起源 3
1.3.1 為什么選擇React 3
1.3.2 React的工作原理 4
1.4 為什么選擇React Native 5
1.5 React Native的工作原理 5
1.6 局限性 7
1.7 開發(fā)第一個(gè)React Native應(yīng)用 7
1.7.1 JSX——JavaScript 語法擴(kuò)展 7
1.7.2 狀態(tài)和屬性 7
1.7.3 React組件生命周期 9
1.7.4 樣式 9
1.7.5 觸摸事件的處理 10
1.7.6 網(wǎng)絡(luò) 11
1.7.7 深度鏈接 11
1.7.8 動(dòng)畫 13
1.7.9 調(diào)試與熱模塊重載 14
1.7.10 應(yīng)用監(jiān)控 15
1.8 開始動(dòng)手 15
1.9 第一步:編寫用戶界面 17
1.10 第二步:與服務(wù)器/后端通信 21
1.11 第三步:添加動(dòng)畫效果 24
1.12 Android平臺(tái)上的做法 26
1.13 第四步:添加原生模塊 27
1.14 部署第一個(gè)應(yīng)用 28
1.14.1 部署 28
1.14.2 CodePush 29
1.15 總結(jié) 29
第2章 原生模塊與組件 30
2.1 第一個(gè)原生組件 30
2.2 剖析原生組件 31
2.3 創(chuàng)建自定義原生組件 34
2.3.1 Android 37
2.3.2 iOS 41
2.3.3 JavaScript 45
2.4 原生模塊 47
2.4.1 剖析原生模塊 47
2.4.2 參數(shù) 49
2.4.3 回調(diào)函數(shù)和promise 50
2.4.4 常量 53
2.4.5 事件 53
2.5 示例 55
2.5.1 Android 55
2.5.2 iOS 59
2.5.3 JavaScript 60
2.5.4 注意事項(xiàng):線程 62
2.5.5 注意事項(xiàng):Swift 63
2.6 鏈接模塊和組件 63
2.7 總結(jié) 68
第3章 示例應(yīng)用:Myagi 69
3.1 為什么選擇React Native 69
3.2 狀態(tài) 70
3.2.1 Flux 71
3.2.2 Myagi API 71
3.2.3 Marty.js與狀態(tài)模塊的生成 72
3.3 路由 73
3.4 身份驗(yàn)證 76
3.5 iOS平臺(tái)的環(huán)境配置 79
3.5.1 plist文件與react-native-env模塊 79
3.5.2 iOS scheme文件與構(gòu)建配置 80
3.5.3 自定義構(gòu)建腳本 81
3.6 跨平臺(tái)代碼共享 82
3.6.1 代碼共享的利與弊 83
3.6.2 iOS與Android間的代碼共享 83
3.6.3 原生應(yīng)用與Web應(yīng)用間的代碼共享 84
3.7 測(cè)試 86
3.7.1 測(cè)試類型 87
3.7.2 單元測(cè)試的實(shí)現(xiàn) 90
3.7.3 UI集成測(cè)試的實(shí)現(xiàn) 91
3.7.4 QA測(cè)試 93
3.8 發(fā)布與更新 93
3.8.1 Git工作流 93
3.8.2 iOS應(yīng)用商店更新流程 94
3.8.3 CodePush更新流程 94
3.8.4 小結(jié) 96
第4章 示例應(yīng)用:TinyRobot 97
4.1 為何選擇React Native 97
4.1.1 npm 98
4.1.2 靜態(tài)類型檢查工具Flow 98
4.1.3 開源 99
4.1.4 響應(yīng)式編程 99
4.1.5 XMPP 99
4.1.6 技術(shù)棧 99
4.2 可擴(kuò)展應(yīng)用架構(gòu) 100
4.2.1 MVC 100
4.2.2 Flux 101
4.2.3 Redux 102
4.2.4 MobX與Redux的比較 103
4.2.5 領(lǐng)域?qū)ο竽P? 108
4.2.6 依賴注入 109
4.2.7 持久化 110
4.2.8 應(yīng)用狀態(tài)管理 112
4.2.9 設(shè)計(jì)模式 120
4.2.10 應(yīng)用架構(gòu) 120
4.3 導(dǎo)航 120
4.3.1 NavigatorIOS 121
4.3.2 注冊(cè)與認(rèn)證流程 122
4.3.3 完美的導(dǎo)航 123
4.4 通信 124
4.4.1 原生vs. JavaScript 125
4.4.2 函數(shù)式編程 125
4.4.3 用戶界面 126
4.5 位置 128
4.6 部署與單元測(cè)試 129
4.6.1 React Native組件測(cè)試 129
4.6.2 UI測(cè)試 130
4.6.3 快速更新應(yīng)用 132
4.6.4 版本控制系統(tǒng) 133
4.6.5 持續(xù)部署 133
4.7 總結(jié) 133
第5章 示例應(yīng)用:Fixt 134
5.1 何為Fixt 134
5.2 故障分析程序 135
5.2.1 快速分析與急救 135
5.2.2 Platfom 135
5.2.3 NetInfo 136
5.2.4 Fixt的設(shè)備參數(shù)模塊 138
5.2.5 React Native的統(tǒng)一思想 142
5.3 身份驗(yàn)證 143
5.3.1 何為Digits 143
5.3.2 在代碼內(nèi)集成Digits 143
5.3.3 樣式 145
5.3.4 回調(diào)函數(shù) 146
5.3.5 注銷 147
5.3.6 實(shí)現(xiàn) 148
5.3.7 數(shù)據(jù)維護(hù) 149
5.4 建議:如何管理快速變化的生態(tài) 150
5.4.1 讓應(yīng)用保持最新 150
5.4.2 瀏覽文檔 150
5.4.3 何處以及如何尋求幫助 151