SlideShare a Scribd company logo
Congrats Web Developer,
You Are Also A
Mobile Developer!
by Eyal Eizenberg
About me
❖
❖
❖
❖
❖
My name is Eyal Eizenberg
Engineering team lead at Samanage
I’ve been working with Ruby on Rails for over 4 years
At Samanage we use: jQuery, Backbone, Marionette, Underscore, React...
I don’t know Java or Objective C
Problems of going mobile
❖
❖
❖
❖
❖
❖
❖
All Rails, no one has done java/obj-c ever or in a long time
Bringing in a mobile developer is expensive
Using an external company is expensive and not a long term solution
A mobile developer probably won’t know Rails
A mobile developer doesn’t know the app, needs a supporting team member
An Android developer is not an iOS developer and vice versa
What happens after the mobile development has reached a plateau?
Enter React Native
We're not chasing the write-once, run-anywhere pipe dream... what
we want to do is chase the learn-once, write-anywhere paradigm
”
“
About React Native
❖ React Native enables you to build world-class application experiences on
native platforms using a consistent developer experience based on
JavaScript and React.
Developed by Facebook
Facebook uses it on several production apps
Leverages node.js (node.io now)
❖
❖
❖
Why should I use React Native?
❖
❖
❖
❖
❖
❖
Uses native components but write with Javascript
Asynchronous execution, make use of additional threads for great performance
The project runs from Xcode, but you code in your favorite editor
Use the iOS simulator or run on an actual device via USB
Debug in Chrome both for simulator and for an actual device
React components can be reused within the project and for Android
Why should I use React Native?
❖
❖
❖
❖
❖
❖
❖
Open source goodness
Loads of React Native components and packages by the community
Leveraging node.js means you can easily use many node packages
The world is going mobile, keep yourself relevant!
It’s really fun and easy to learn!
Supports ES6 out of the box
Easily use coffeescript
18 Months
How long Facebook estimated it would take to build
their Ads Manager app for iOS using objective C
5 + 3 Months
Using React Native they built the iOS app in 5 months
and porting it to Android took an additional 3 months
while using the same team of Javascript engineers!
What if Facebook drops this project?
❖
❖
❖
Facebook are fully committed and highly invested in React and React Native
Unlike other companies, they actually use the technology they build for their
major products
Their desktop app uses React and they have a couple of mobile apps with
React Native already (Facebook groups & Facebook ads manager)
Before diving in...
❖
❖
❖
❖
❖
❖
❖
❖
You need: Mac, node.js, recent Xcode
Linux & Windows not officially supported yet
The React Native docs
UI Explorer
React Native Playground
React Parts and React Components
Flexbox
Use Flux or something similar
React.js Israel App
❖
❖
❖
❖
❖
❖
❖
Basic structure of app
Navigator vs. NavigatorIOS
Get json from meetup.com
Render a list view
Navigate to an event
Interaction manager
Animated
Thanks!
Eyal Eizenberg
eyal.eizenberg@samanage.com
We’re hiring!

More Related Content

Congrats web developer, you are also a mobile developer!

  • 1. Congrats Web Developer, You Are Also A Mobile Developer! by Eyal Eizenberg
  • 2. About me ❖ ❖ ❖ ❖ ❖ My name is Eyal Eizenberg Engineering team lead at Samanage I’ve been working with Ruby on Rails for over 4 years At Samanage we use: jQuery, Backbone, Marionette, Underscore, React... I don’t know Java or Objective C
  • 3. Problems of going mobile ❖ ❖ ❖ ❖ ❖ ❖ ❖ All Rails, no one has done java/obj-c ever or in a long time Bringing in a mobile developer is expensive Using an external company is expensive and not a long term solution A mobile developer probably won’t know Rails A mobile developer doesn’t know the app, needs a supporting team member An Android developer is not an iOS developer and vice versa What happens after the mobile development has reached a plateau?
  • 4. Enter React Native We're not chasing the write-once, run-anywhere pipe dream... what we want to do is chase the learn-once, write-anywhere paradigm ” “
  • 5. About React Native ❖ React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. Developed by Facebook Facebook uses it on several production apps Leverages node.js (node.io now) ❖ ❖ ❖
  • 6. Why should I use React Native? ❖ ❖ ❖ ❖ ❖ ❖ Uses native components but write with Javascript Asynchronous execution, make use of additional threads for great performance The project runs from Xcode, but you code in your favorite editor Use the iOS simulator or run on an actual device via USB Debug in Chrome both for simulator and for an actual device React components can be reused within the project and for Android
  • 7. Why should I use React Native? ❖ ❖ ❖ ❖ ❖ ❖ ❖ Open source goodness Loads of React Native components and packages by the community Leveraging node.js means you can easily use many node packages The world is going mobile, keep yourself relevant! It’s really fun and easy to learn! Supports ES6 out of the box Easily use coffeescript
  • 8. 18 Months How long Facebook estimated it would take to build their Ads Manager app for iOS using objective C
  • 9. 5 + 3 Months Using React Native they built the iOS app in 5 months and porting it to Android took an additional 3 months while using the same team of Javascript engineers!
  • 10. What if Facebook drops this project? ❖ ❖ ❖ Facebook are fully committed and highly invested in React and React Native Unlike other companies, they actually use the technology they build for their major products Their desktop app uses React and they have a couple of mobile apps with React Native already (Facebook groups & Facebook ads manager)
  • 11. Before diving in... ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ You need: Mac, node.js, recent Xcode Linux & Windows not officially supported yet The React Native docs UI Explorer React Native Playground React Parts and React Components Flexbox Use Flux or something similar
  • 12. React.js Israel App ❖ ❖ ❖ ❖ ❖ ❖ ❖ Basic structure of app Navigator vs. NavigatorIOS Get json from meetup.com Render a list view Navigate to an event Interaction manager Animated