2021-05-24Ionic vs React..

NorthLink Digital

NorthLink Digital

It’s not an overstatement to say that we're a society plugged in - with mobile apps becoming a prerequisite to everyday tasks. Whether it's a routine news update, contactless payment, or planning a route, mobile apps are, for most, indispensably integrated into our modern life.

For businesses small and large - it’s the perfect opportunity to anchor an unlimited terrain of data, connect with their audience and deliver direct and highly personalized messaging.

A decisive factor for developers is the efficiency of certain frameworks. When thinking of compatibility between apps and platforms, the main two are always iOS and Android. Fortunately, technology has advanced past the point of strict native integration, allowing for high-performance cross-platform app development, meaning you can write code once and deploy it to both iOS and Android, with little extra cost. For this type of work, our developers like to use React Native and Ionic - both created as open-source SDK frameworks for hybrid mobile applications. Below we have provided an overview of each as well as highlighting some of the key advantages exclusive to each framework.

What is React Native and why would I use it?

React Native is a JavaScript framework that lets developers create mobile applications (apps) for Android or IOS devices without compromising the user's experience (UX).

Similar to other cross-platform mobile development frameworks, React Native allows teams to manage all their project apps from one codebase.

Under the hood React Native’s “bridge” functions render the React Native code API’s into either Java for Android or Objective-C for IOS devices. This approach creates real mobile user interface (UI) components as opposed to web views, resulting in a truly mobile experience.

React Native also allows users to access the native platform features such as the Camera, File Access and Location Services, and so on.

From a React web developers' standpoint, React Native can create real native apps from the framework they already know and enjoy.

React Native renders the components using the host platform APIs and not by rendering web views. By using this approach React Native doesn't have to worry about trying to mimic native UI’s which can be both time-consuming and can quickly become deprecated.

Here is a list of apps built on React Native:

  • Instagram
  • Uber
  • Netflix
  • Microsoft OneDrive
  • Microsoft Office (mobile)

As of May 2021, React Native has a 3.77% share in all apps deployed to App Store and Google Play.

Furthermore, a whopping 8.33% of the USA's top 500 apps have been created using React Native.

Back in 2018, React Native revealed to have the second most contributed repository on GitHub - an indication of just how popular the framework has become.

React Native documentation is easy to read with an array of examples and ideas to implement for anyone who wants to give them a try.

What is IONIC and why would I use it?

Founded in 2012 by Drifty, Ionic is a hybrid toolkit framework for creating top-quality, cross-platform native web and mobile applications (apps).

A decade later and Ionic has evolved from a simple framework into a whole ecosystem of products, services, and features, some of which are open-source whilst others only available with a premium subscription.

It allows developers to create code from a single codebase using an array of tools and components to really take advantage of native features without the downtime of learning an entire set of new skills.

Developers can use their existing knowledge of frameworks such as React, Vue & Angular to build native Android and IOS without needing to dive deep into the native codebase.

Boasting customers such as EA, BBC, and NHS, Ionic is a lead contender in the cross-platform development sector.

It’s without question that building cross-platform applications from a single codebase increases productivity, improves cost efficiency, and accelerates time to delivery in comparison to building separate native apps and a PWA.

Full SDK access is available and when combined with Capacitor or Cordova plugins you can access all the native APIs for each device. This allows you to really tap into the native features such as the camera, flashlight, and file storage - to name just a few.

A multitude of official plugins are available on the Ionic website but there is also a community-based library available via GitHub. Appflow is another feature of Ionic, which is essentially CI/CD for the Google Play Store and App Store.

You can update an app that is already installed on a remote device without ever having to release a new build which requires a user to update their app.

It's worth noting that these instant updates are intended for cosmetic changes like styles, assets, and bug fixes, so if a new feature or some other major change is added, a new build would be required. For any additional support, the Ionic team offers technical support to customers when needed.