on instagram.com 2012 Open sourced at JS Conf US May 2013 React Native announced at React.js Conf Feb 2015 React Native open sourced Feb 2015 React Native released for Android Sep 2015
developer Knows Javascript - ES6 Written & shipped Android apps Written & shipped iOS apps Familiar with a modern framework Familiar with Android best practices Familiar with iOS best practices Want to write mobile apps Want to write cross-platform apps Want to write cross-platform apps
build.gradle • Add an entry for the local RN maven directory in your project’s build.gradle • Add Internet permission in your AndroidManifest.xml • Create an Activity that • creates a ReactRootView • starts a React application inside it • sets it as the main content view • Pass some activity lifecycle callbacks to the ReactInstanceManager • Also pass back button events to React Native • Hook up the dev menu • Run your app
that usually extends the ReactContextBaseJavaModule class and implements the functionality required by the JavaScript • getName method • getConstants method • Java methods annotated by @ReactMethod & return void • Use corresponding Argument types • Register the module in the createNativeModules method of your apps package • The package needs to be provided in the getPackages method of the MainApplication.java
the createViewInstance method • Expose view property setters using @ReactProp (or @ReactPropGroup) annotation • Register the manager in createViewManagers of the applications package • Implement the JavaScript module
your branch from master. 2. Describe your test plan in your commit. If you've added code that should be tested, add tests! 3. If you've changed APIs, update the documentation. 4. If you've updated the docs, verify the website locally and submit screenshots if applicable. $ cd website $ npm install && npm start go to: http://localhost:8079/react-native/index.html 5. Add the copyright notice to the top of any new files you've added. 6. Ensure tests pass on Travis and Circle CI. 7. Make sure your code lints (node linter.js <files touched>). 8. If you haven't already, sign the CLA. 9. Squash your commits (git rebase -i). one intent alongs with one commit makes it clearer for people to review and easier to understand your intention