An Introduction to React Native
janmonschke
See all presentation from janmonschke
0 0 (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/platform.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
React-native-introduction.
On Github janmonschke / react-native-introduction
Jan Monschke / @thedeftone / github.com/janmonschke
Frontend Engineer at SoundCloud
Who here has built a native mobile app before?
Dev workflow: web > mobile.
- Just refresh the page
- Auto-Reload
- Hot Module Reload
Hybrid mobile apps
- Web + Mobile not integrated
- Look & Feel
- No real cross-mobile solution
- Performance
React Native
develop web-ish, run natively
How does it work?
- Write code like in any other React app
- React can render arbitrary kind of view systems
- React Native has JS wrappers for native views and modules
View, Image, Navigator, List, Loading Indicator...
Cross-Platform
- Views render on both platforms
- Respecting platform environment
- look & feel, specific APIs
- Simple way to write platform-specific code
Benefit from mobile- AND web-community
- Use existing native libraries
- Provide native interfaces to JS code
- Profit from NPM
- Share code with your web projects
- XCode needed to build iOS apps
- React lock-in
- Code-signing, distribution profiles...
- Still dependend on app stores for distribution
What about fast deploys like on web?
(bug fixes, styling fixes...)
OTA updates!
Is it production-ready®.
- "Just over one year old"
- Battle-tested in FB apps (Ads, Groups)
- Used by many companies already (Runtastic, SoundCloud...)
- Only "battle-tested" code is released
- Development speed
- Product reach
- (even with only web people)
- learn new things <3 mixed teams
Want to know more?
- facebook.github.io/react-native
- berlinjs-slack.herokuapp.com (#reactnative)
IMAGES
VIDEO
COMMENTS
Write code like in any other React app; React can render arbitrary kind of view systems; React Native has JS wrappers for native views and modules; View, Image, Navigator, List, Loading Indicator... Cross-Platform. Views render on both platforms; Respecting platform environment; look & feel, specific APIs; Simple way to write platform-specific code