homes.co.nz App

A large React Native application upgrade

The homes.co.nz React Native version 0.66 app didn’t have a clear upgrade path, in fact any React Native application below 0.69 cannot be upgraded without serious development time. Our choice was to upgrade both the Android and IOS versions separately or migrate the project to Expo. Expo was the obvious choice, and we immediately created an Expo project to enable us to begin migrating and upgrading each feature at a time. 

Expo Application Services (EAS) allowed us to easily create and manage builds within the cloud across both platforms removing the hassle of managing platform specific configurations. 

React Native requires a minimum of 6 monthly upgrades, using Expo like this abstracts the iOS and Android specific configuration challenges and significantly decreases the build effort with one easy interface. 

Upgrade Lessons we are happy to share: 

  • Document all features prior starting – use the existing application to build regression tests 
  • Complete daily buildouts as features are completed and become available for testing 
  • Use the relevant application store compliance process to identify issues early which need remediation 
  • Run a phased rollout, paying attention to any crash reporting to quickly isolate and fix issues 
  • Let Expo automate the deployments to both application stores via API direct through the Expo tooling 

 

Technology

React Native, Expo Application Services (EAS)