At Simpleweb, we’ve developed loads of mobile apps with a number of different technologies, each coming with its own set of benefits and limitations. Our clients always ask us about the different ways of developing mobile apps, often when it’s too early to tell what will best suit their needs.

The table below is a comparison of three of the most popular methods of developing mobile apps – Ionic, React Native and Native. These are only a few of many technologies available to developers. We have experience in a wide range of mobile development languages, frameworks and tools and have chosen to compare these three to highlight the key differences in the available technologies.

Ionic is a framework that allows developers to create hybrid mobile apps using web technologies like HTML, CSS and JavaScript.

A hybrid mobile app is built using technologies typically used for the web. Hybrid apps are hosted inside native applications that allow them to access the device’s camera, pedometer and other functionalities, removing the need to develop for any specific device or operating system.

This basically means that you are creating a website wrapped up inside an app (note: this is an incredibly simplistic view!).

React Native is a framework developed by Facebook for creating native-style apps for iOS & Android under one common language, JavaScript. Unlike hybrid apps, native apps are built especially for the platform they’re to be used on (iOS, Android etc). React Native allows a proportion of the code to be shared between platforms and empowers developers to create apps which feel less clunky and perform better than hybrid apps. With both React Native and Native apps, gestures like pinching or double tapping work in the way you’d expect them to work on your operating system.

If you’re looking to build an app using React Native, you might be interested in our Open Source React Native Generator, a tool we designed to provide structure and a set of patterns to get React Native application builds off the ground faster.

Native apps are written in a programming language specific to the platform they’re being developed for. This would typically be Objective-C or Swift for iOS and Java for Android. Native apps typically have better performance with rendering and animations than hybrid apps.

The following table shows a comparison of Ionic, React Native and Native apps and development which we hope can provide useful insight when deciding how to develop your mobile app, based on recent conversations we’ve had with clients.

Ionic React Native Native
Tech knowledge required HTML, CSS, JavaScript JSX – JavaScript code that resembles HTML Objective-C / Swift / (iOS), Java (Android)
Ability to easily create versions for other operating systems? Yes – Ionic can run the same code regardless of the platform Yes – you can build for iOS, Android and even tvOS No – you need to build a new version from scratch
Can access native features (e.g. camera, torch etc) Most native features can be accessed with Cordova plugins Pretty much all native features can be accessed with React Native, however, some more specific interactions may need a specific plugin Yes and new features are supported from day 1
Performance Can feel a little clunky but this can be mitigated with good design practises Gestures like pinching or double tapping work in the way you’d expect them to work on your operating system, and they typically load in graphics much faster than hybrid apps Will create the smoothest and fastest feeling apps as there are no layers of abstraction in code
Reliability Relies on third party plugins which save on development time, but any issues with a plugin will cause issues with you app Still in beta. There is an active community of developers building open source plugins, but there are still many plugin issues compared to hybrid apps Arguably the most reliable, however you will need experienced developers on hand to do maintenance for each operating system
Time and cost The quickest and cheapest of the 3 – most developers have necessary skills and versions for different operating systems can be spun up relatively easily React should be easy enough for most developers to pick up but can take time if they don’t have knowledge of it. However, you can build for Android and iOS simultaneously which saves on time Each version for each operating system will cost a similar amount to create and maintain – no shortcuts

 

When developing a mobile app, there’s no one size fits all technology. One app may need to use Native as Native features make up its core functionality, while another may be more suited to Ionic if it needs to be deployed into the market as quickly and cheaply as possible to test with users and beat competition. It’s worth noting that the quality of your app is not entirely dependent on the technology used to build it and draws much from the skills and experience of the team who create it.

If you’d like to discuss your startup or project, get in touch with Simpleweb today.

Related Stories