App development - Hybrid vs React Native

When developing a mobile app the natural direction to go is native development, which is developing an app using the programming language for the specific platform. So, for Android it would be Java and for iOS it would be Swift or Objective-C. However, it poses the problem that if you want to develop an app across both platforms, you have to go through the time consuming process of developing two apps from scratch.

Hybrid development


cordova-poster.png#asset:784

One solution to this is hybrid development, which is the process of using existing web technologies (html,css and javascript) to build apps. Using a framework like Cordova, developers can create a dynamic web page and then package it into an app that looks and feels just like any other mobile app. The big advantage to this process is that we can build one app that works across multiple platforms. 

Although hybrid development has been around for nearly as long smartphones, one of the big drawbacks has been performance compared native apps. Smartphones don’t dedicate the same processing power to a webpage as they do an app. However, over the last few years, both smartphones and hybrid development have come a long way. Web technologies now have access to hardware accelerated animations and a much improved webview, meaning that many well made hybrid applications are nearly indistinguishable from native apps.


Why use Hybrid

The main advantage of hybrid development is of course being able to deliver across multiple platforms at once. However there are also a number of other advantages.

Javascript development has been around for an extremely long time and as such there is a massive amount of existing frameworks out there that you can use. Using hybrid development not only gives developers access to plugins for almost anything, it also provides a variety plugins for any task, so you can often cherry pick a solution that fits your app.

For a company who are looking to create a web app as well as a mobile app, hybrid development offers them the chance to share code across both platforms. So if you’re developing a new feature on your website, its not complex to integrate into your app.

Many well known companies such as Facebook and Instagram took this approach to their own mobile apps early on simply because of the advantage code sharing across multiple platforms provided them. However they have both moved to other platforms of late, which we’ll cover next. Hybrid apps can be hard to spot these days without direct access to the apps source code, but it is known that Uber currently takes this approach with their app and you can even see some of the code served through the app online at m.uber.com.


React Native


react-poster.png#asset:783

React Native is a new framework developed by Facebook, based on their existing framework React.js. React Native allows developers to write cross-platform apps. Although react native is fairly new, it already has a growing and impressive client list. Facebook themselves only use for selected section of their own app, but companies like Instagram, Airbnb and Walmart have fully embraced the framework

Although react native is fairly new, it already has a growing and impressive client list. Facebook themselves only use for selected section of their own app, but companies like Instagram, Airbnb and Walmart have fully embraced the framework.


React vs Hybrid 


Performance

Although hybrid development has come a long way and hybrid apps are hard to spot these days, it’s clear that a native app still offers improved performance. One specific area is how they handle large amounts of data. Native apps have components built into them to handle large lists of data by only rendering what's on screen and not all of it at once.

 

Plugins and Community
Naturally as hybrid development have been around much longer, there is a lot more support from the community across the internet. As a developer if you come across a problem developing a hybrid app, it’s easy to find someone who’s had the same problem before and their solution. Stack overflow is currently the biggest source for developer advice and at the time of writing there over 50,000 open questions regarding cordova (the primary hybrid framework), whilst react native is sitting at around 15,000.

However react native is growing very quickly. 

Screen-Shot-2017-05-25-at-10.43.11-am.png#asset:779


Conclusion 

We would assess each project on it’s own merits and our clients would have trust in our decision making when delivering app technology. There is very little between Hybrid development versus Native development, although our decision to take a certain direction may have influence on whether we are integrating the mobile app into a custom web platform.