What is Expo and why it matters for app development
This framework for React Native applications simplifies the work of developers by reducing setup, testing and maintenance times.
The use of Expo Application Services, a Cloud service that automates the build process (creation of an executable) and release on the App Store and Google Play Store, is of major benefit by allowing the development team to save time that would otherwise have to be spent on setup and configuration activities in the respective native development environments.
Expo, under the “managed workflow” mode, gets the team operational within minutes: thanks to Expo CLI and the Expo Go app, developers can run and debug a new app via the iOS simulator or Android, via a web browser or actual device. And all this without the need to use apple (Xcode) and Android (Android Studio) native development software as is the case when developing with React Native.
Anyone who has created at least one app in React Native knows that returning to the project some time later to upgrade it to the latest version, perhaps for a major release, can involve a long and frustrating process due to frequent breaking changes or incompatibilities between the previously developed code and the framework’s latest version.
Expo acts as an intermediary between the programmer and React Native, imposing one and only one version of React Native for each of its releases, namely one that has been thoroughly tested for compatibility and in line with a predictable a priori schedule (once a quarter, unlike React Native releases, which do not follow a specific time frame).
On the other hand, there are some factors that should be carefully considered when choosing whether or not this framework is chosen.
In our opinion, the most significant aspect is that Expo limits the use of third-party libraries as it can only integrate with components that have been made compatible. Although these are constantly increasing (in line with the framework’s uptake), this feature must be given some considerable thought during any new project’s initial analysis phase, when its requirements and specifications are defined. It should be noted, however, that Expo will, in any case, allow the project to be converted into an entirely normal React Native codebase at any time. However, this would obviously mean having to renounce the benefits of Expo and Expo Application Services.
To sum up, Expo therefore seems like a really interesting technology, where you can create native iOS and Android apps starting from a single source code. The experienced React Native developer will have no problem understanding its fundamentals, being already comfortable using the SDK.