One Shoe logo

Creative & Digital Agency

The benefits of building your business apps with React-Native and Expo

For we developed a mobile app for both Android and iOS using one codebase. Here's how a business benefits from developing with React Native.

One Shoe | 16 jan 2018

A couple of months ago we at One Shoe were asked by to build an app that provides golfers with trustworthy up-to-date information on green fees and golf courses all over the world. As a business with different types of users who possess different types of devices, required a mobile app for both Android and IOS devices. But instead of immediately putting our mobile developers to work, we came up with a solid developing solution that would benefit in several ways: we advised to build the app using React-Native and Expo.

In this article, our CTO Jordy van Raaij explains why React-Native is a great option for businesses to create performant iOS and Android applications.

What is React-Native?

React-Native is a programming language that allows developers to build cross-platform mobile apps using JavaScript. With React-Native it’s possible to develop an app once and deploy it on both iOS and Android. Although the apps are written in JavaScript, the apps will use the native features of your device. This means that the app will have the look, the feel, and the performance that matches the native platform. This is done by bridging these features to JavaScript. Therefore, these apps are performant and truly native.

React-Native is developed by Facebook and used by big (tech) companies such as Walmart, Instagram, Airbnb, Tesla and UberEATS. With a large community behind React-Native the platform is evolving every day.

What is Expo?

Expo is a free and open-source toolchain around React-Native to help developers build native iOS and Android apps. The toolchain includes over the air (OTA) updates, easy build tooling and a lot of extra API’s on top of React-Native.

Five benefits of React-Native and Expo compared to native mobile app development

1. Support both iOS and Android from the start

Where traditional development of an iOS app (Swift) and Android app (Java) requires two apps being built from the ground up, React-Native enables developers to work from one codebase while developing for both the iOS and Android platform at the same time.

What does this mean for you? This saves a lot of time developing the apps and makes maintenance of your apps cheaper and leaner because your developers don’t have to do the same job twice. At least 90% of the codebase (depending on the functionalities of your app) can be shared by both platforms.

2. Monitor the development process of your app instantly with Expo tooling

When it comes to monitoring the progress of your app being build or testing newly build features you normally have to wait for a demo-presentation from the developers, a TestFlight (iOS) setup or a fully build Android app. This process is very time consuming for developers and is not very transparent for monitoring the status of your app.

Now, with the Expo app (for both iOS and Android) you’re able to monitor the progress of your apps and test new features while the apps are being build. Developers can publish new versions of the app which then will be available on your own devices through the Expo app. This makes it much more easy to test features on multiple devices and you can test the apps everywhere you want. With this lean way of testing you’re able to provide feedback in earlier stages and thus improving the quality of the features being build.

3. Save valuable time when creating production builds

Normally, if you want to publish your newly-built app in the Apple App Store and Android Play Store you will need to configure and generate your app through Apple’s Xcode and Android Studio software. This process requires a lot of configuration and time from your developers.

If you choose to have your app built with React-Native and Expo, the Expo tooling enables your developers to generate standalone iOS and Android builds with a single configuration file. With a single command, developers can make Expo do the heavy lifting by generating new builds for both iOS and Android. This process will take less time. Time that instead can be spent on developing new features for your apps and gives you more value for money.

4. Publish updates for your apps faster

Once your app is published in the Apple App Store and Android Play Store you’ll most likely want to improve the app with new features for your users. Normally this requires going through the whole build progress again and uploading updated versions of your apps to the app stores, which can take up a serious amount of time before being approved by Apple or Android. Then the updated apps then need to be manually installed by your users.

The advantage of React-Native and Expo is that you’re able to develop and publish updates for your apps faster. This is done via over the air (OTA) updates. When an update is ready for production you can easily publish the feature. Expo will minify the code for the update and upload it to Amazon S3. The new update will be downloaded asynchronously while the user is using the app. This means that the next time the user opens the app the update will be available for them. No need to update the app through the app store manually. This saves a lot of time and makes developing and publishing updates for your apps a breeze.

5. You only need one type of developer for maintaining your apps

Let’s assume you want to develop your apps or to the maintenance of your apps in-house. This means you will need an iOS developer (Swift) and an Android developer (Java) which can be very expensive.

One of the big benefits of React-Native apps is that you don’t have to hire mobile developers: you just need a JavaScript developer to build and maintain both apps. Most Front-end web developers are skilled in JavaScript and therefore able to work on the apps with React-Native. And they can also maintain your website. This is very cost-effective for your business.

Faster development, efficient utilisation of resources and reduced costs with React-Native and Expo

Having your apps built with React-Native and Expo will give you more value for money while being able to monitor the progress of development more closely and publish new features to you users faster. With React-Native it’s possible to build rich business apps while spending less.

Want to learn more about how building apps React-Native and Expo can help reach your business goals? Don’t hesitate to get in touch.

About the author

JavaScript CTO of One Shoe. Skilled in many JavaScript frameworks such as ReactJS, React-Native and AngularJS. He loves working with tools like Redux, Styled-Components, Expo and Jest and is exploring the JavaScript world on a daily basis. His expertise lies in thinking about best fit solutions and advising clients.