Install node, react-native-cli, Android studio and Xcode (click on "Building Projects with Native Code" tab): https://facebook.github.io/react-native/docs/getting-started.html
Make sure your emulators are working and running (either android or ios)
Yarn: npm install -g yarn
An ESLint supported IDE, preferably Atom: https://atom.io
Clone this repo: https://github.com/react-native-workshop/note-taker
Install latest version of React Native Debugger: https://github.com/jhen0409/react-native-debugger/releases
Native Code/Modules
git checkout chapter-1 yarn install
yarn android or yarn ios
Task #1: Run Hello world app
Task #1: Run Hello world app
iOS: cmd+ctrl+z
Android: cmd+m
iOS: NA
Android: ctrl+m
Start writing components
Task #2: Adding ESLint, githooks
yarn git checkout chapter-2 yarn android OR yarn ios
Task #3: Adding ESLint, githooks
Task #3: Write test cases for the code so far
yarn git checkout chapter-3
Task #4: Style the components
git checkout chapter-4
Task #4: Style the components
Before
After
Task : Add react-native-vector-icons using react-native link
Lint and tests with coverage should run whenever a pull request is raised.
CI builds and publish app to the internal team testers on every merge to master.
Manual Building capability for developers
To see circleci build: https://goo.gl/uzgNp1
Why state management?
Reducers/Actions/Dispatch
Presentational Components VS Container Components
Task #6: Add functionality to our app using redux
git checkout chapter-6
Task #6: Add functionality to our app using redux
How navigation happens in native applications?
Types of navigators offered by react-navigation
Navigate using redux-actions
A Stack in native apps
Task #7: Add multipage navigation to our app
git checkout chapter-7
Task #7: Add multipage navigation to our app
git checkout chapter-8
Task #8: Add a Link component to our app that should show up the link passed to it on a separate tab in browser on both android and web
Task #9: Create a custom module which returns the device name
git checkout chapter-9
Task #11: Create a custom module which returns the device name
http://reactkungfu.com/2015/07/why-and-how-to-bind-methods-in-your-react-component-classes/
https://medium.com/differential/managing-configuration-in-react-native-cd2dfb5e6f7b
https://medium.com/the-react-native-log/comparing-the-performance-between-native-ios-swift-and-react-native-7b5490d363e2
Feedback: https://goo.gl/PXLjov