Book description
In this book, we aim to build cross-platform mobile apps, for Android and iOS, using React Native. We’ll learn what it means to build a robust application architecture that will stay with you regardless of the change in the tooling or ecosystem churn (i.e. by the time you finish your app, there might be new tools and new versions of everything)…
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
- Features
- 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
- Why go Native?
- Going Native: Native Modules
- Our Example: Cryptboard
- iOS Breakdown
- Android Breakdown
- Cryptboard.js
- Bridging Promises
- Using a Single Codebase
- Summary
- Our Example: Cryptboard