Phone gap vs React Native

CordovaReact NativeHybrid Mobile-App

Cordova Problem Overview


I'm embarking on a side project. Its a native hybrid app. I've used Phonegap / Ionic / Angular a lot to build apps quickly. I'm researching React Native at the moment. Has anyone who's used both of these have any comments or +/- about each one?

Cordova Solutions


Solution 1 - Cordova

I've used both extensively. We have been using React Native in production for about 5 months now, and have previously worked with Ionic / Angular, and Phonegap projects for 3 years.

Here are the pros and cons of React Native, in my opinion, from someone who has fairly extensive experience in both. I'm not going to go into Ionic since you already have some experience there.

React Native Cons:

  1. New technologies that you have to learn (React if you haven't already used it, Android environment & understanding of Xcode)
  2. New data architecture and frameworks (Redux/Mobx/Flux/Reflux/etc...)
  3. Fairly new and documentation is still coming along but not completely there yet (Though the community is amazing at helping answer questions)
  4. Learning how to style React Native is just similar enough to CSS to get you in trouble and frustrate you in the beginning

React Native Pros:

  1. Very fast development time
  2. Amazing user experience when loaded on device (true native feel in my experience vs hybrid)
  3. Hot reloading
  4. Flux & similar data architecture (once you learn and understand it)
  5. Fun to build once you learn it
  6. Not a steep learning curve
  7. Amazing community

If I were to meet someone and recommend one over the other I would definitely recommend React Native. That being said, PhoneGap / Cordova and Ionic are all still very solid and if you feel productive and are not in the position to spend some time learning a new technology, I would say stick with one of those.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJoelView Question on Stackoverflow
Solution 1 - CordovaNader DabitView Answer on Stackoverflow