Great introduction to the rapidly changing world of React and React Native!
React Native just may be the holy grail of cross-platform app development that many developers and companies have been hoping for. Using React Native, developers can build performant cross-platform native apps much easier than ever before, all with a single programming language: JavaScript. With the growing demand for apps and the increasing complexity that app development entails, React Native comes along at a perfect time. If you're serious about app development or want to stay ahead of the curve on emerging and disruptive technologies, take a look at React Native.
Part 1: Getting Started With React Native
1. Getting started with React Native
1.1. Introducing React and React Native
1.1.1. A Basic React Class
1.1.2. React Lifecycle
1.2. What You Will Learn
1.3. What You Should Know
1.4. Understanding how React Native works
1.4.1. JSX
1.4.2. Threading
1.4.3. React
1.4.4. Unidirectional data flow
1.4.5. Diffing
1.4.6. Thinking in components
1.5. Acknowledging React Native�s strengths
1.5.1. Developer availability
1.5.2. Developer productivity
1.5.3. Performance
1.5.4. One-way data flow
1.5.5. Developer experience
1.5.6. Transpilation
1.5.7. Productivity and efficiency
1.5.8. Community
1.5.9. Open source
1.5.10. Immediate updates
1.5.11. Other solutions for building cross-platfom mobile applications
1.6. React Native�s drawbacks
1.7. Creating and using basic components
1.7.1. An overview of components
1.7.2. Native components
1.7.3. Component composition
1.7.4. Exportable components
1.7.5. Combining components
1.8. Creating a starter project
1.8.1. Create React Native App CLI
1.8.2. React Native CLI
1.9. Summary
2. Understanding React
2.1. Managing component data using state
2.1.1. How to correctly manipulate component state
2.2. Managing component data using props
2.3. React Component Specifications
2.3.1. Using the render method to create your UI
2.3.2. Using property initializers and constructors
2.4. React Lifecycle Methods
2.4.1. Component mounting / creation
2.4.2. Component updating
2.4.3. Component unmounting
2.4.4. The static getDerivedStateFromProps method
2.4.5. The componentDidMount lifecycle method
2.4.6. The shouldComponentUpdate lifecycle method
2.4.7. The componentDidUpdate lifecycle method
2.4.8. The componentWillUnmount lifecycle method
2.5. Summary
3. Building Your First React Native App
3.1. Lay out the Todo app
3.2. Coding the Todo app
3.3. Opening the Developer Menu
3.3.1. Opening the developer menu in iOS simulator
3.3.2. Opening the developer menu in Android Emulator
3.3.3. Using the Developer Menu
3.4. Continuing building the Todo app
3.5. Summary
Part 2: Developing applications in React Native
4. Introduction to styling
4.1. Applying and organizing styles in React Native
4.1.1. Applying styles in your applications
4.1.2. Organizing styles
4.1.3. Styles are code
4.2. Styling View Components
4.2.1. Setting the background color
4.2.2. Setting border properties
4.2.3. Specifying margins and padding
4.2.4. Using position to place components
4.2.5. Profile Card positioning
4.3. Styling Text Components
4.3.1. Text components versus view components
4.3.2. Font Styles
4.3.3. Using decorative text styles
4.4. Concluding comments
4.5. Summary
5. Styling in depth
5.1. Platform-specific sizes and styles
5.1.1. Pixels, Points, and DPs
5.1.2. Creating drop shadows with ShadowPropTypesIOS and Elevation
5.1.3. Putting it into practice: drop shadows in the ProfileCard
5.2. Using transformations to move, rotate, scale and skew components
5.2.1. 3D effects with perspective
5.2.2. Moving elements along the x- and y-axes with translateX and translateY
5.2.3. Rotating elements with rotateX, rotateY, and rotateZ (rotate)
5.2.4. Setting visibility when rotating an element more than 90�
5.2.5. Scaling objects on the screen with scale, scaleX, and scaleY
5.2.6. Using the scale transform to create a thumbnail of the ProfileCard
5.2.7. Skewing elements along the x- and y-axes with skewX and skewY
5.2.8. Transformation key points
5.3. Using Flexbox to layout components
5.3.1. Altering a component�s dimensions with flex
5.3.2. Specifying the direction of the flex with flexDirection
5.3.3. Defining how space is used around a component with justifyContent
5.3.4. Aligning children in a container with alignItems
5.3.5. Overriding the parent container�s alignment with alignSelf
5.3.6. Preventing clipped items with flexWrap
5.4. Summary
6. Navigation
6.1. React Native Navigation versus Web Navigation
6.2. Building a Navigation-based App
6.3. Persisting Data
6.3.1. Import AsyncStorage
6.3.2. Create a function to check for AsyncStorage
6.3.3. Store the cities array in AsyncStorage
6.3.4. Update AddLocation to store the city array after setState is called
6.4. Using DrawerNavigator to create drawer-based navigation
6.5. Summary
7. Animations
7.1. Introducing the Animated API
7.2. Animating a form input to expand on focus
7.3. Creating a custom loading animation using interpolation
7.4. Creating multiple parallel animations
7.5. Creating an animated sequence
7.6. Using Animated Stagger to stagger animation start times
7.7. Other useful tips for using Animated library
7.7.1. Resetting an Animated value
7.7.2. Invoking a callback
7.7.3. Offloading animations to the native thread
7.7.4. Creating a custom animatable component using createAnimatedComponent
7.8. Summary
8. Using Redux, a data architecture library
8.1. What is Redux?
8.2. Using context to create and manage global state in a React application
8.3. Implementing Redux with a React Native app
8.4. Creating Redux reducers to hold Redux state
8.5. Adding the Provider and creating the store
8.6. Accessing data using the connect function
8.7. Adding actions
8.8. Deleting items from a Redux store in a reducer
8.9. Summary
Part 3: API reference
9. Implementing Crossplatform APIs
9.1. Implementing Cross Platform APIs
9.2. Using the Alert API to create cross platform notifications
9.2.1. Use Cases for alerts
9.2.2. Example of usingalerts
9.3. Using the AppState API to detect the current application state
9.3.1. Use Cases for AppState
9.3.2. Example of using AppState
9.4. Using the AsyncStorage API to persist data
9.4.1. Use Cases for AsyncStorage
9.4.2. Example of using AsyncStorage
9.5. Using the Clipboard API to copy text into the user�s clipboard
9.5.1. Use Cases for Clipboard
9.5.2. Example of using Clipboard
9.6. Using the Dimensions API to get the user�s screen information
9.6.1. Use Cases for the Dimensions API
9.6.2. Example of using Dimensions API
9.7. Using the Geolocation API to get the user�s current location information
9.7.1. Use Cases for the Geolocation API
9.7.2. Example of using Geolocation
9.8. Using the Keyboard API to control the location and functionality of the native keyboard
9.8.1. Use Cases for the Keyboard API
9.8.2. Example of using the Keyboard API
9.9. Using NetInfo to get the user�s current online / offline status
9.9.1. Use Cases for NetInfo
9.9.2. Example of using NetInfo
9.10. Getting information about touch and gesture events
9.10.1. Use Cases for the PanResponder API
9.10.2. Example of using PanResponder
9.11. Summary
10. Implementing iOS-specific components and APIs
10.1. Targeting platform-specific code
10.1.1. iOS and Android file extension
10.1.2. Detecting the platform using the Platform API
10.2. DatePickerIOS
10.3. Using PickerIOS to work with lists of values
10.3.1. Example of using PickerIOS
10.4. Using ProgressViewIOS to show loading indicators
10.4.1. Use cases for ProgressViewIOS
10.4.2. Example of using ProgressViewIOS
10.5. Using SegmentedControlIOS to create horizontal tab bars
10.5.1. Use cases for SegmentedControlIOS
10.5.2. Example of using SegmentedControlIOS
10.6. Using TabBarIOS to render tabs at the bottom of the UI
10.6.1. Use cases for TabBarIOS
10.6.2. Example of using TabBarIOS
10.7. Using ActionSheetIOS to show action or share sheets
10.7.1. Use cases for ActionSheet
10.7.2. Example of using ActionSheet
10.8. Summary
11. Implementing Android-specific components and APIs
11.1. Creating the menu using DrawerLayoutAndroid
11.2. Creating a toolbar with ToolbarAndroid
11.3. Implementing scrollable paging with ViewPagerAndroid
11.4. Using the DatePickerAndroid API to show a native date picker
11.5. Creating a time picker with TimePickerAndroid
11.6. Implementing Android Toasts using ToastAndroid
11.7. Summary
Part 4: Bringing it all together
12. Building a Star Wars app using cross-platform components
12.1. Creating a new React Native app and installing dependencies
12.2. Importing the People component and creating the Container component
12.3. Creating the Navigation component and registering routes
12.4. Creating the main class for the initial view
12.5. Creating the People component using FlatList, Modal, and Picker
12.6. Creating the state and setting up a fetch call to retrieve data
12.7. Adding the remaining class methods
12.8. Render method of People.js
12.9. Creating the HomeWorld component
12.10. Creating the HomeWorld class and initializing state
12.11. Fetching data from the API using the url prop
12.12. Wrapping up the HomeWorld component
12.13. Summary
Appendixes
Appendix A: Installing and running React Native
A.1. Developing for iOS Devices
A.1.1. Getting Started
A.2. Developing for Android devices
A.2.1. Mac and Android
A.2.2. Windows and Android
A.2.3. Linux and Android
A.3. Creating a new project
A.4. Running the project
Appendix B: Resources
About the book
React Native in Action gives iOS, Android, and web developers the knowledge and confidence to begin building high quality iOS and Android apps using the React Native framework. You'll start by getting a clear understanding of what React Native is and how it works. Then you'll follow step-by-step instructions to build your first functional app while you learn the fundamentals. This clearly-written book dives into more complex application development topics like styling, cross-platform and OS specific components, APIs, network requests, and animations. In the last part of the book, you'll learn to develop data architectures and thoroughly test your apps. By the end, you'll know to build high quality, cross-platform mobile apps with React Native.
What's inside
- Installing and running React Native
- In-depth coverage of routing, Redux, and animations
- Implementing React Native components and APIs
- Requesting and sending data over the network
- Storing and retrieving data locally
- Managing data and state
- Testing React Native code
- customers also bought these items
- CSS in Depth
- Kubernetes in Action
- Isomorphic Web Applications
- Node.js in Action, Second Edition
- iOS Development with Swift
- Redux in Action
- customers also bought these items
- Electron in Action
- Isomorphic Web Applications
- Kubernetes in Action
- Redux in Action
- CSS in Depth
- Machine Learning with TensorFlow
placing your order...
Don't refresh or navigate away from the page.FREE domestic shipping on three or more pBooks
A valuable reference once you start dealing with more sophisticated scenarios.
A gentle introduction to React Native.