E-Book, Englisch, 243 Seiten
Paul / Nalwaya React Native for Mobile Development
2. ed
ISBN: 978-1-4842-4454-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
Harness the Power of React Native to Create Stunning iOS and Android Applications
E-Book, Englisch, 243 Seiten
ISBN: 978-1-4842-4454-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
Develop native iOS and Android apps with ease using React Native. Learn by doing through an example-driven approach, and have a substantial running app at the end of each chapter. This second edition is fully updated to include ES7 (ECMAScript 7), the latest version of React Native (including Redux), and development on Android. You will start by setting up React Native and exploring the anatomy of React Native apps. You'll then move on to Redux data flow, how it differs from flux, and how you can include it in your React Native project to solve state management differently and efficiently. You will also learn how to boost your development by including popular packages developed by the React Native community that will help you write less; do more. Finally, you'll learn to how write test cases using Jest and submit your application to the App Store. React Native challenges the status quo of native iOS and Android development with revolutionary components, asynchronous execution, unique methods for touch handling, and much more. This book reveals the the path-breaking concepts of React.js and acquaints you with the React way of thinking so you can learn to create stunning user interfaces. What You'll LearnBuild stunning iOS and Android applications
Understand the Redux design pattern and use it in your project
Interact with iOS and android device capabilities such as addressbook, camera, GPS and more with your apps
Test and launch your application to the App StoreWho This Book Is ForAnyone with JavaScript experience who wants to build native mobile applications but dreads the thought of programming in Objective-C or Java. Developers who have experience with JavaScript but are new or not acquainted to React Native or ReactJS.
Akshat Paul is a Software Architect and author of the books 'React Native for iOS Development' and 'RubyMotion for iOS Development Essentials'. He has extensive experience of mobile & web development and has delivered many enterprise and consumer applications over the years. In other avatars, Akshat frequently speaks at conferences and meetups on various technologies. He has given talks at React Native Conference EU, Devops@scale Amsterdam, TheDevTheory Conference, RubyConfIndia, #inspect-RubyMotion Conference Brussels and was the KeyNote speaker at technology leadership events in Bangkok and Kuala Lumpur. Besides writing code, Akshat spends time with his family, is an avid reader, and obsessive about healthy eating. Abhishek Nalwaya is the author of three books and has spoken at many conferences and meetups, such as RubyConf India and RubyMotion conference. He has extensive experience in DevOps, web, and mobile development. Besides programming, Abhishek loves to run a few miles and cook healthy food.
Autoren/Hrsg.
Weitere Infos & Material
1;Table of Contents;4
2;About the Authors;9
3;About the Technical Reviewer;10
4;Acknowledgments;11
5;Introduction;12
6;Chapter 1: Learning the Basics: A Whistle-Stop Tour of React;14
6.1;Why React?;15
6.2;Virtual DOM;16
6.3;One-Way Data Flow;18
6.4;Installation and Setup;21
6.4.1;Create a Hello World Application;22
6.5;Introduction to Components;23
6.6;Deep-Dive into Components;26
6.6.1;Properties;26
6.7;State;29
6.8;Summary;33
7;Chapter 2: The Simplest Program: Hello World with React Native;34
7.1;What Is React Native?;35
7.2;Installation;35
7.2.1;Installing Node and npm;36
7.2.2;Installing the React Native Package;36
7.2.3;Updating React Native;36
7.3;Your First App;37
7.3.1;Creating a Basic Skeleton;38
7.4;Prerequisites for Running App on a Simulator;46
7.4.1;Running the App on a Simulator;47
7.4.2;It’s Not a UIWebView;47
7.4.3;Enabling Live Reload;49
7.5;What Makes React Native Different?;49
7.6;Ejecting a React Native Application;50
7.7;Debugging;55
7.7.1;Reload;56
7.7.2;Debugging in Chrome;56
7.7.3;Debugging in Safari;57
7.7.4;Showing Performance Monitor;58
7.7.5;The Inspect Element;59
7.8;Summary;60
8;Chapter 3: Solving Problems Differently with Flux and Redux;61
8.1;MVC Pattern;62
8.2;Flux;63
8.2.1;Success of Flux;66
8.3;Flux Deep Dive;66
8.3.1;The Dispatcher;66
8.3.2;The Need for Dispatcher [dispatch() and waitFor()];67
8.3.3;Stores;67
8.3.4;Actions;68
8.4;Redux;68
8.5;Redux Core Concepts;69
8.5.1;Action;70
8.5.2;Reducer;70
8.5.3;Store;71
8.6;Redux with React Native;71
8.6.1;Working with the Components;75
8.7;Summary;79
9;Chapter 4: Canvas, Brush, and Paint: Working with the User Interface;80
9.1;React Navigation;81
9.2;NavigatorIOS;87
9.3;Flexbox;88
9.3.1;flexDirection;91
9.3.2;Flex;93
9.4;Images;97
9.5;TouchableHighlight;99
9.6;ListView;105
9.7;ScrollView;109
9.7.1; vs. ;110
9.8;Animations;110
9.9;Summary;112
10;Chapter 5: Exploring Device Capabilities;113
10.1;MapView and GeoLocation;113
10.1.1;Reviewing the GeoLocationMap Code;116
10.1.2;Adding Annotation on a Map;118
10.1.3;Displaying the Latitude and Longitude of the Current Location;120
10.2;AsyncStorage;126
10.2.1;Reviewing the AsyncStorage Code;130
10.3;Native Alert;133
10.3.1;Reviewing the NativeAlert Code;136
10.3.2;Extending the NativeAlert Example;137
10.4;WebView;140
10.4.1;Reviewing the WebView Code;142
10.5;Deep Linking;143
10.6;Summary;149
11;Chapter 6: Communicating with Servers;150
11.1;XMLHttpRequest;151
11.2;WebSocket;151
11.3;Fetch;152
11.4;Getting Data from a Server;154
11.5;Saving Data to a Server;158
11.6;Summary;172
12;Chapter 7: Native Bridging in React Native;173
12.1;Native Bridge;174
12.1.1;Prerequisites for the Example;174
12.1.1.1;iOS Native Bridge;174
12.1.2;Native Bridge for Android;187
12.2;Summary;194
13;Chapter 8: Testing;195
13.1;Flow;195
13.1.1;Benefits of Using Flow;196
13.2;Jest;196
13.2.1;Jest with React Native;197
13.3;Snapshot Testing with Jest;200
13.4;Summary;205
14;Chapter 9: Getting Ready for the World;206
14.1;Apple Developer Account;206
14.2;Google Play Console;207
14.3;iOS Build Process;208
14.3.1;Create a CSR File;210
14.4;Generating iOS .ipa(iPhone Application Archive);215
14.5;Generating Android .apk(Android application package);226
14.6;Beta Testing with TestFlight;229
14.7;Summary;230
15;Chapter 10: The Ecosystem: Extending React Native;231
15.1;Popular React Native Libraries;231
15.1.1;UI;232
15.1.1.1;Styled-components;232
15.1.1.2;Lottie-react-native;232
15.1.1.3;React-native-vector-icons;232
15.1.2;Forms;232
15.1.2.1;Formik;232
15.1.2.2;Redux-form;232
15.1.3;Type Checking and Linting;233
15.1.3.1;ESLint;233
15.1.3.2;Prop-types;233
15.1.3.3;Flow;233
15.1.4;Testing;233
15.1.4.1;Jest;233
15.1.4.2;Enzyme;233
15.1.4.3;Chai;234
15.1.4.4;Mocha;234
15.1.5;Interacting with APIs and Back End;234
15.1.5.1;Axios;234
15.1.5.2;Apollo;234
15.1.5.3;React-native-firebase;234
15.1.6;Routing;235
15.1.6.1;React Router;235
15.1.6.2;React Navigation;235
15.1.7;Utilities;235
15.1.7.1;Lodash;235
15.1.7.2;Ramda;235
15.1.7.3;Moment;235
15.1.7.4;Reselect;236
15.1.7.5;Validate.js;236
15.1.7.6;React-native-device-info;236
15.2;Where to Get Help;236
15.2.1;React Native Repository;236
15.2.2;Stack Overflow;237
15.3;Stay Updated with React Native;237
15.3.1;React Native Communities;237
15.3.2;Knowledge;238
15.3.3;Discussions and Proposals;238
15.4;Summary;238
16;Index;239




