Update cookies preferences

E-book: Learning React Native: Building Native Mobile Apps with JavaScript

3.73/5 (133 ratings by Goodreads)
  • Format: 242 pages
  • Pub. Date: 23-Oct-2017
  • Publisher: O'Reilly Media
  • Language: eng
  • ISBN-13: 9781491989111
  • Format - PDF+DRM
  • Price: 47,96 €*
  • * the price is final i.e. no additional discount will apply
  • Add to basket
  • Add to Wishlist
  • This ebook is for personal use only. E-Books are non-refundable.
  • Format: 242 pages
  • Pub. Date: 23-Oct-2017
  • Publisher: O'Reilly Media
  • Language: eng
  • ISBN-13: 9781491989111

DRM restrictions

  • Copying (copy/paste):

    not allowed

  • Printing:

    not allowed

  • Usage:

    Digital Rights Management (DRM)
    The publisher has supplied this book in encrypted form, which means that you need to install free software in order to unlock and read it.  To read this e-book you have to create Adobe ID More info here. Ebook can be read and downloaded up to 6 devices (single user with the same Adobe ID).

    Required software
    To read this ebook on a mobile device (phone or tablet) you'll need to install this free app: PocketBook Reader (iOS / Android)

    To download and read this eBook on a PC or Mac you need Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

    You can't read this ebook with Amazon Kindle

Get a practical introduction to React Native, the JavaScript framework for writing and deploying fully featured mobile apps that look and feel native. With this hands-on guide, you’ll learn how to build applications that target iOS, Android, and other mobile platforms instead of browsers. You’ll also discover how to access platform features such as the camera, user location, and local storage.

With code examples and step-by-step instructions, author Bonnie Eisenman shows web developers and frontend engineers how to build and style interfaces, use mobile components, and debug and deploy apps. Along the way, you’ll build several increasingly sophisticated sample apps with React Native before putting everything together at the end.

  • Learn how React Native provides an interface to native UI components
  • Examine how the framework uses native components analogous to HTML elements
  • Create and style your own React Native components and applications
  • Install modules for APIs and features not supported by the framework
  • Get tools for debugging your code, and for handling issues outside of JavaScript
  • Put it all together with the Zebreto effective-memorization flashcard app
  • Deploy apps to the iOS App Store and Google’s Play Store
Preface ix
1 What Is React Native?
1(4)
Advantages of React Native
2(2)
Developer Experience
2(1)
Code Reuse and Knowledge Sharing
3(1)
Risks and Drawbacks
4(1)
Summary
4(1)
2 Working with React Native
5(8)
How Does React Native Work?
5(2)
Rendering Lifecycle
7(1)
Creating Components in React Native
8(3)
Working with Views
8(1)
Using JSX
9(1)
Styling Native Components
10(1)
Host Platform APIs
11(1)
Summary
12(1)
3 Building Your First Application
13(26)
Setting Up Your Environment
13(1)
Developer Setup: Create React Native App
14(2)
Creating Your First Application with create-react-native-app
14(1)
Previewing Your App on iOS or Android
15(1)
Developer Setup: The Traditional Approach
16(3)
Creating Your First Application with react-native
16(1)
Running Your App on iOS
17(1)
Running Your App on Android
18(1)
Exploring the Sample Code
19(3)
Building a Weather App
22(15)
Handling User Input
24(2)
Displaying Data
26(3)
Fetching Data from the Web
29(3)
Adding a Background Image
32(2)
Putting It All Together
34(3)
Summary
37(2)
4 Components for Mobile
39(34)
Analogies Between HTML Elements and Native Components
39(5)
The <Text> Component
40(2)
The <Image> Component
42(2)
Working with Touch and Gestures
44(10)
Creating Basic Interactions with <Button>
44(1)
Using the <TouchableHighlight> Component
45(3)
Using the PanResponder Class
48(6)
Working with Lists
54(15)
Using the Basic <FlatList> Component
56(3)
Updating the <FlatList> Contents
59(4)
Integrating Real Data
63(2)
Working with <SectionList>
65(4)
Navigation
69(1)
Other Organizational Components
70(1)
Summary
71(2)
5 Styles
73(18)
Declaring and Manipulating Styles
73(4)
Using Inline Styles
74(1)
Styling with Objects
75(1)
Using StyleSheet.create
75(1)
Concatenating Styles
76(1)
Organization and Inheritance
77(3)
Exporting Style Objects
77(1)
Passing Styles as Props
78(1)
Reusing and Sharing Styles
79(1)
Positioning and Designing Layouts
80(8)
Using Layouts with Flexbox
80(4)
Using Absolute Positioning
84(1)
Putting It Together
85(3)
Summary
88(3)
6 Platform APIs
91(22)
Using Geolocation
91(8)
Reading the User's Location
92(1)
Handling Permissions
93(1)
Testing Geolocation in Emulated Devices
94(1)
Watching the User's Location
95(1)
Working Around Limitations
95(1)
Updating the Weather Application
96(3)
Accessing the User's Images and Camera
99(4)
Interacting with the CameraRoll Module
99(1)
Requesting Images with GetPhotoParams
100(1)
Rendering an Image from the Camera Roll
101(1)
Uploading an Image to a Server
102(1)
Storing Persistent Data with AsyncStorage
103(1)
The Smarter Weather Application
104(8)
The <WeatherProject> Component
104(3)
The <Forecast> Component
107(1)
The <Button> Component
108(1)
The <LocationButton> Component
109(1)
The <PhotoBackdrop> Component
110(2)
Summary
112(1)
7 Modules and Native Code
113(20)
Installing JavaScript Libraries with npm
113(2)
Installing Third-Party Components with Native Code
115(1)
Using the Video Component
116(1)
Objective-C Native Modules
116(8)
Writing an Objective-C Native Module for iOS
116(5)
Exploring react-native-video for iOS
121(3)
Java Native Modules
124(6)
Writing a Java Native Module for Android
124(3)
Exploring react-native-video for Java
127(3)
Cross-Platform Native Modules
130(1)
Summary
130(3)
8 Platform-Specific Code
133(6)
iOS- or Android-Only Components
133(1)
Components with Platform-Specific Implementations
134(3)
Using Platform-Specific File Extensions
134(3)
Using the Platform Module
137(1)
When to Use Platform-Specific Components
137(2)
9 Debugging and Developer Tools
139(24)
JavaScript Debugging Practices, Translated
139(6)
Activating the Developer Options
139(2)
Debugging with console.log
141(2)
Using the JavaScript Debugger
143(1)
Working with the React Developer Tools
144(1)
React Native Debugging Tools
145(5)
Using Inspect Element
145(1)
Interpreting the Red Screen of Death
146(4)
Debugging Beyond JavaScript
150(5)
Common Development Environment Issues
151(1)
Common Xcode Problems
151(1)
Common Android Problems
152(1)
The React Native Packager
153(1)
Issues Deploying to an iOS Device
153(2)
Simulator Behavior
155(1)
Testing Your Code
155(5)
Type Checking with Flow
156(1)
Unit Testing with Jest
156(1)
Snapshot Testing with Jest
157(3)
When You're Stuck
160(1)
Summary
161(2)
10 Navigation and Structure in Larger Applications
163(26)
The Flashcard Application
163(3)
Project Structure
166(15)
Application Screens
167(6)
Reusable Components
173(4)
Styles
177(1)
Data Models
178(3)
Using React-Navigation
181(6)
Creating a StackNavigator
182(1)
Using navigation.navigate to Transition Between Screens
182(3)
Configuring the Header with navigationOptions
185(1)
Implementing the Rest
186(1)
Summary
187(2)
11 State Management in Larger Applications
189(18)
Using Redux to Manage State
189(1)
Actions
190(2)
Reducers
192(3)
Connecting Redux
195(8)
Persisting Data with AsyncStorage
203(3)
Summary and Homework
206(1)
Conclusion
207(14)
A Modem JavaScript Syntax
209(6)
B Deploying Your Application
215(4)
C Working with Expo Applications
219(2)
Index 221
Bonnie Eisenman is a software engineer at Twitter and a member of the hackerspace NYC Resistor, with previous experience at Codecademy, Fog Creek Software, and Google. She is the author of Learning React Native, a book on building native iOS and Android applications with Javascript, published with O'Reilly Media. In her spare time, she enjoys learning languages, tinkering with hardware projects, and knitting.