Hybrid frameworks, such as Cordova offer this kind of promise as they use a headless web view to allow you to deploy HTML apps to mobile. This means you can write your web app as normal, but it’ll deploy to native devices. The user will think they are using a native app, but really they are just in a web browser. The problem with this idea is that the web view (within a native app) was never designed to give you the slick performance of a native app. Native apps have a responsive quality that you do not expect from web apps. But when you’re running a web view without the head the way Cordova does, the user doesn’t know he’s not using a native app. Therefore if the user believes he is in a native app, he’s going to be less forgiving to a clunky experience. It just doesn’t feel right.
Cordova has the right idea, but we haven’t got to the stage where browsers can leverage the responsiveness of native. I have experienced this first hand whilst building an Ionic App that uses Cordova. You can read more about the performance benefits of React Native in this comparison post
Welcome React Native.
##Learn once, write everywhere
Native performance with familiar syntax? I’ll take that.
##CSS for Layout
I’ve only ever experimented with layouts in Android, but I know I never want to do it again. The layout system was not very flexible and it was difficult to make fluid layouts. It may have changed since I tried Android development all those years ago, but now with React Native I can use my years of CSS knowledge to layout my app.
##Familiar workflow for faster iteration
##Faster deployment to App Store
##Making mobile apps is cool
Okay this isn’t a really solid logical reason. It’s probably more emotional. I’ve always wanted to make mobile apps, but I’ve never really wanted to invest the time into learning Objective C or Swift. Especially since I’d only be developing for iOS. With React Native it allows me to create apps in both environments with the same syntax. It’s bringing the power of native to web developers and I for one am going to jump on that bandwagon.
##Where to start?