Native vs Hybrid
Mobile development used to be complicated and much more expensive than web development. iPhones, Android and Windows phones all use different technologies, to reach every user mobile apps had to be developped several times, once in the specific programming language of every platform, iOS (Objective C and now Swift), Android (Java), Windows Phone (C++, C#).
Early on, people tried to solve this problem by allowing developers to code mobile applications from web technologies, which resulted in encapsulating a website in HTML5 inside a mobile app. These solutions are known as “hybrid mobile apps”, they appeared a few years ago (Apache Cordova, also known as Phonegap, was created in 2009) but the apps that can be created are easily recognizable as they don’t match the smartphone’s own design (especially on iPhones) and have performance issues.
In our search for the best web tech to develop cross-platform applications, we quickly got interested in React Native when it was created in 2015 by a team from Facebook. React Native enables us to develop cross-platform mobile applications that render natively on smartphones and tablets. There is a single code to develop and maintain for an application deployed simultaneously on iOS, Android and soon on Windows phones.