Rafael Blanquer
5 min
08/15/2022
In the previous article Mobile development with Expo (React Native) we highlighted the importance of having tools that make development easier, something that we miss in native applications.
In this article we are going to see how Expo allows you to accelerate the development of your application.
Expo's multi-platform approach allows you to focus on building your idea.\
On the one hand, you will not need to develop a different app for each platform. Since we are working with React, most of your code will be in JavaScript, so you don't have to know the languages of each platform.
React Native provides the necessary access to the hardware and the multitude of libraries available for the platform will facilitate your development.
If you need to, you can implement some functionality in native code, you can always keep the comfort of programming with JavaScript.
Faster iteration is based on the idea of being able to distribute and make updates to the app quickly, in order to speed up the development and testing phase and maintenance in production.
Let's see how Expo can help us at different stages of development.
Expo allows you to create a project and start developing it in a few steps, you can run the app on a simulator or use your own smartphone with the Expo Go mobile app.
The Expo Go app allows you to run Expo projects on devices and using QR links running mobile apps has never been so easy and fast.
Expo allows you to create a project and start developing in a few steps, you can run the app on a simulator or use your own smartphone with the Expo Go mobile app.
Now with the Expo Go app and QR links, launching an app has never been easier and faster.
One of the most tedious tasks when preparing an internal review of your app is to send the new version to all the reviewers, since they are applications that have not been reviewed by the stores.
Expo facilitates the task with an internal distribution system through which it is possible to install the application with a link.
eas build --profile preview --platform all
With a single command it is possible to generate an installable version on both platforms.
Preparing your app to be submitted to the stores is complex. Expo helps managing all the necessary credentials and build the app for you.
You need to follow the steps of the configurator the first time, Expo will create the necessary certificates and store all the configuration in your cloud account.
eas configure
eas build --profile preview --platform all
If you wish, you can add all these actions to your CI/CD flow and automate them.
Once we have the application ready, you must send it to the Apple and Android stores. This task requires several phases such as authenticating in the store, uploading the binaries, configuring a version; Expo again does the homework for us, making publishing easy.
You just have to fill in the information sheet and attach some screenshots and you will have your application published in the stores.
The architecture of the Expo applications allows us to differentiate our JavaScript code from the native code and update our code automatically without having to build a new version.
eas update --branch preview --message Updating the app
In this way, the EAS Update service allows you to easily and quickly correct small errors with a single command.
As you can see, Expo makes many tasks easier for us and aims to focus on the development of our idea.
These are some of the main features, but there are many more.
For example, the Notifications service allows us to easily send pushes.
As we discussed in the first part of this article, the applications are somewhat heavier than the native apps, this is something they have been working on.
On the one hand, the new architecture that they are adopting reduces the initial weight of our application and facilitates the use of libraries.
On the other hand, technologies such as Hermes have allowed us to improve the performance and reduce the weight of our apps.
As we have seen, Expo works hard to facilitate the development of our app in all phases and is constantly improving by providing us with new services. Give it a try and see how well it works.