Author: Lalit Mahapatra

Are you thinking about React Native? Ever heard of Expo?

The word (part) "react" has probably never been heard so often outside of Newton's Third Law. In recent years, ReactJS has undoubtedly become the most popular web framework. The framework - developed by Facebook - has often been chosen as the framework to build web applications since 2016. It's no secret that a framework is made popular by its enthusiasts - and ReactJS certainly doesn't lack a large fan base.

Since 2015, Facebook has been working with React Native; the React-based framework for mobile apps. For those who have worked with Cordova, React Native works just a little differently. Unlike Cordova, which runs apps in the so-called web view of a mobile device (meaning that the app uses a separate browser window underwater), a React Native app launches it in the device's native view - the operating system's GUI. This ensures that the execution remains top-notch all the time and the user experience is also top-notch.

Everything is fine and dandy until the programmer realizes that he needs to learn a lot to really get started with it. Well, what exactly does a lot mean? React Native works with the components of the mobile software, so you have to get to know the native code. This also means at least two new programming languages - Kotlin for Android devices (Java used to be used) and Swift for Apple devices (Objective-C used to be used). Not to mention the relevant programming environments, or IDE's as they are affectionately called. For the two platforms this is Android Studio and XCode. And this is really not a day werk😊. There are a lot of things you really have to learn before you are able to build something small. Of course, companies have limited budgets for their app - they want to build an app as quickly and as cheaply as possible and get it live quickly.

And thus, hybrid programmers were born! Nowadays, there is no shortage of web developers building web applications/websites with HTML5, Javascript and CSS. Or any other taste of them like Backbone or React. For one native programmer, you probably need a dozen or so web developers. So we thought of technologies that could help these developers to build mobile apps. This was the goal of Apache Cordova/Adobe Phone Gap where they built a layer in between that would convert a web application to a native app. This is how the so-called Hybrid Apps came into being.

Hybrid vs Native apps Hybrid vs Native apps

Of course this made a lot of people happy.

However, a hybrid app does have its known drawbacks - the biggest of which is the inferior performance (read: poor user experience). It is often said "you cannot get almonds for the price of peanuts" and it seems to be true in this case.

Is there a solution to this problem? Expo.

Expo made a native app that was built with Javascript anyway. Unbelievable? Certainly not. Expo is a partner for React Native that ensures that all the complexity of the native code is hidden and made available as simple Javascript packages so that a programmer can use them without having to know how they work underwater.

Expo also offers a great way to test the app during development. I finished a demo application within an hour. The reason was that I could test the modifications directly on a mobile device. It's not even necessary to physically connect the device to a laptop. I thought it was really cool to be able to test the app so easily. Last but not least, Expo also takes over the steps involved in bundling and releasing the app from the programmer, so that also saves a lot of development time.In short:

  • Javascript
  • React
  • Mobile
  • Short dev cycles
  • Happy people

Specific questions?

Enter your e-mail address and Oliver IT will contact you as soon as possible!

Done! We will contact you soon!
Gerben Moerland Partner
Gerben Moerland