About the Author |
|
ix | |
About the Technical Reviewer |
|
xi | |
The Path to a 05 App |
|
xiii | |
|
Chapter 1 Start Thinking in React |
|
|
1 | (40) |
|
|
2 | (5) |
|
|
7 | (1) |
|
1.2 The "Hello World" App in Pieces |
|
|
7 | (31) |
|
1.2.1 React Native Development Environment |
|
|
7 | (5) |
|
|
12 | (3) |
|
|
15 | (10) |
|
|
25 | (5) |
|
|
30 | (7) |
|
1.2.6 Setstate() Internals |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (3) |
|
Chapter 2 Foundations of React |
|
|
41 | (48) |
|
2.1 Flexbox, a Practical Guide |
|
|
41 | (15) |
|
|
44 | (1) |
|
|
45 | (11) |
|
|
56 | (1) |
|
2.2 Composition vs. Inheritance, HOC |
|
|
56 | (11) |
|
2.2.1 Case Study: Multiple Photo Feeds |
|
|
58 | (9) |
|
|
67 | (1) |
|
2.3 ScrollView and FlatList |
|
|
67 | (7) |
|
|
68 | (5) |
|
|
73 | (1) |
|
|
74 | (14) |
|
2.4.1 Case Study: Moment (Reinforced) |
|
|
75 | (12) |
|
|
87 | (1) |
|
|
88 | (1) |
|
Chapter 3 Animation in React Native |
|
|
89 | (58) |
|
3.1 Introduction to React Native Animation |
|
|
90 | (1) |
|
|
91 | (13) |
|
|
92 | (1) |
|
3.2.2 LayoutAnimation.create() |
|
|
93 | (1) |
|
3.2.3 Raw Animation Config |
|
|
93 | (2) |
|
|
95 | (1) |
|
3.2.5 Case Study, Read More |
|
|
96 | (8) |
|
|
104 | (1) |
|
|
104 | (30) |
|
3.3.1 Animate the Animation |
|
|
106 | (4) |
|
3.3.2 Bind the Animation Value |
|
|
110 | (4) |
|
3.3.3 Case Study 1, Looming Animation for Image Loading |
|
|
114 | (7) |
|
3.3.4 Case Study 2, Loading Indicators |
|
|
121 | (12) |
|
|
133 | (1) |
|
3.4 Gesture-Driven Animation |
|
|
134 | (11) |
|
|
136 | (1) |
|
3.4.2 Case Study, a Pull Down Load Experience |
|
|
137 | (8) |
|
|
145 | (1) |
|
|
145 | (2) |
|
Chapter 4 Native Modules and Components |
|
|
147 | (94) |
|
|
149 | (17) |
|
|
151 | (8) |
|
4.1.2 Android Native Module |
|
|
159 | (5) |
|
4.1.3 Use the Native Module in JavaScript |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
166 | (19) |
|
4.2.1 Ios Native Component |
|
|
167 | (6) |
|
4.2.2 Android Native Component |
|
|
173 | (5) |
|
4.2.3 Use the Native Component in JavaScript |
|
|
178 | (2) |
|
4.2.4 Children of a Native Component |
|
|
180 | (4) |
|
|
184 | (1) |
|
|
185 | (21) |
|
|
185 | (4) |
|
|
189 | (8) |
|
4.3.3 Direct Manipulation |
|
|
197 | (1) |
|
4.3.4 Synchronous Method Call |
|
|
197 | (1) |
|
|
198 | (1) |
|
|
199 | (2) |
|
4.3.7 Dependency Injection |
|
|
201 | (3) |
|
|
204 | (2) |
|
|
206 | (2) |
|
4.5 Case Study - a Video Component |
|
|
208 | (32) |
|
4.5.1 Ios Implementation of a Video Component |
|
|
209 | (5) |
|
4.5.2 Android Implementation of a Video Component |
|
|
214 | (3) |
|
|
217 | (11) |
|
4.5.4 Reinforced Video Component |
|
|
228 | (12) |
|
|
240 | (1) |
|
Chapter 5 Network Programming |
|
|
241 | (72) |
|
5.1 A Very Brief Introduction to TCP/IP |
|
|
243 | (37) |
|
|
247 | (10) |
|
|
257 | (14) |
|
|
271 | (2) |
|
|
273 | (2) |
|
5.1.5 The Modern Internet |
|
|
275 | (4) |
|
|
279 | (1) |
|
5.2 Network Programming on the JavaScript Layer |
|
|
280 | (13) |
|
5.2.1 Asynchronous Operations |
|
|
280 | (6) |
|
|
286 | (1) |
|
5.2.3 Case Study, Move Everything Online |
|
|
287 | (6) |
|
5.3 Network Programming on the Native Layer |
|
|
293 | (9) |
|
5.3.1 Case Study, Enable Local Caching |
|
|
294 | (8) |
|
|
302 | (9) |
|
5.4.1 Case Study, Reinforce the Network Components |
|
|
304 | (5) |
|
5.4.2 Case Study, Offline Mode |
|
|
309 | (2) |
|
|
311 | (2) |
|
Chapter 6 Advanced Topics |
|
|
313 | (114) |
|
|
313 | (3) |
|
|
316 | (14) |
|
|
321 | (9) |
|
|
330 | (4) |
|
6.3.1 Case Study, Apply Basic Heuristics |
|
|
331 | (3) |
|
6.4 0 Crash, Design Exception Flow |
|
|
334 | (8) |
|
6.4.1 Robustness Built in Software Architecture |
|
|
338 | (2) |
|
6.4.2 Last Resort, Global Error Handler |
|
|
340 | (1) |
|
|
341 | (1) |
|
6.5 Native Modules Inside Out |
|
|
342 | (43) |
|
6.5.1 Phase 0, Prior Bootstrap |
|
|
344 | (2) |
|
|
346 | (20) |
|
6.5.3 Phase 2, Native Module on the JavaScript Layer |
|
|
366 | (13) |
|
|
379 | (1) |
|
6.5.5 The Two-Way Communication |
|
|
380 | (2) |
|
6.5.6 The Native Module Metadata |
|
|
382 | (1) |
|
|
383 | (2) |
|
|
385 | (37) |
|
6.6.1 Establish the Animated Node Graph |
|
|
391 | (11) |
|
6.6.2 Bind the Event Receiver |
|
|
402 | (3) |
|
6.6.3 Attach the Event Source |
|
|
405 | (7) |
|
6.6.4 Native Event Transmission |
|
|
412 | (10) |
|
6.7 Adaptive to All Screens, Layout Design |
|
|
422 | (1) |
|
|
423 | (4) |
Index |
|
427 | |