Table of contents :
Table of Contents
About Me
About This Book
How To Build a Book for Bleeding Edge?
How To Read This Book?
Introduction
About Me
The Revolution Has Begun
Cross Platform Mobile
React
React Native
Why This Time?
Book Style
Intended Audience
What This Book Is
What This Book Is Not
Breezing Through React
Getting Started
Project Layout
The React Native Project
Running Your Project
Making Changes
Bundling Your App
The Native iOS Project
The Native Android Project
Tooling
Simulator and Emulator Developer Tools
Native Debugging
Summary
Building React Native Components
A Squashed History of Javascript Frameworks
React.js
React Components
Completing a Kata
The People App
Features
Product
Technical
Potential (or: Homework)
Summary
Walkthrough
Walkthough Style
Technical Choices
Javascript
React
Flux
Folder Structure
Testing
Dissecting Our First Screen
Mobile List Views
The Groups Screen
Master-Detail
ListView and Our Master View
The Store
Bootstrapping and Navigation
Styling
The Detail Screen
The People (Contacts) Screen
Making Reusable Components
Using Community Components
Linking iOS projects
Linking Android Projects
Javascript Components
Summary
Navigation and Routing
Why navigation
Why Navigation is Scary
Navigation in React Native
Navigator vs. NavigatorIOS
Navigator
Wiring Navigator
ToolbarAndroid and Navigator.NavigationBar
ToolbarAndroid
Android's Back Button
NavigatorIOS
Passing Data
Patterns
Search in Navbar
Custom Content in Title
Routed Navbar Content
Reactive Navbar Content
Getting Input
Spreading Props
Summary
Going Native: Native UI
Why go Native?
Performance
Making use of Existing Work
Better Tooling
Custom UI and Complex UI Work
Wrapping Existing Components
A General Escape Hatch
When Not to Go Native?
The Building Blocks of a Custom View
The ViewManager
Our Example: MessagesView
Breakdown: iOS
MessagesView
RCTMessagesViewManager
messagesview.ios.js
Breakdown: Android
MessagesView
MessagesViewManager
NativeControlsPackage
messagesview.android.js
Using MessagesView
Summary
Going Native: Native Modules
Our Example: Cryptboard
iOS Breakdown
Android Breakdown
Cryptboard.js
Bridging Promises
Using a Single Codebase
Summary