React Native survey shows pain of upgrades – and decline of Cordova and Xamarin

React Native survey shows pain of upgrades – and decline of Cordova and Xamarin
Someone frustrated at a laptop

The latest survey of React Native developers highlights the challenge of targeting ever-changing mobile platforms as the biggest pain point, followed by debugging issues, performance, and unmaintained packages.

Code for a React Native app

React Native is a framework for building apps for Android and iOS using JavaScript or TypeScript and the open source Meta (Facebook) React library. Desktop apps are also possible thanks to the Microsoft-sponsored React Native for Windows + macOS. Microsoft writes parts of the Windows 11 UI, such as the Accounts section of Settings, in React Native, as revealed in this post last year.

The State of React Native survey reached over 1800 developers, concluded on 20th January 2023, and has now been published. It shows a community that is largely content with its technology choice – only 5 percent describe themselves as unhappy with the general state of React Native – but also one that identifies upgrades to iOS and Android as a continuing challenge. React Native primarily uses native GUI widgets, giving it a true native look and feel but perhaps also more risk of breakage, compared to alternatives (such as Google’s Flutter) which draw their own UI.

Another related issue is unmaintained packages. “Let’s be honest – creating (and maintaining) a library requiring expertise in 3+ languages and having knowledge of both iOS and Android APIs isn’t easy,” said Kacper Kapuściak, a developer at Software Mansion (which ran the survey).

Change is something React Native developers have to get used to. One of the big themes in the community is migration to a new architecture, replacing the older approach of using a component called The Bridge to manage data communications between the framework and the native OS. “New architecture won’t make it any easier as it is making bridge-based packages obsolete,” said Kapuściak.

The reason developers persevere is that writing native applications using the same technology used for web applications is a huge benefit, and for developers who want to do that, React Native is the approach that has the most momentum.

This is not a neutral survey, but a nevertheless notable statistic is that Cordova (formerly PhoneGap), one of the earliest examples of using HTML and JavaScript for native applications, comes bottom of the “would use again” table of React Native Alternatives, and top of the table for actual usage – meaning that developers are keen to move away from it. Another framework that scores badly is Microsoft’s Xamarin, where again usage greatly exceeds intent to retain. Microsoft’s new effort, MAUI (Multiplatform App UI) which is meant to replace Xamarin, does not even feature here.

The most used deployment methods are “manually with Xcode” and “manually with Android Studio,” but according to the survey developers enjoy using Expo Application Services (EAS) Build and Submit, with 95 percent of respondents wanting to retain their usage, and nearly equal enthusiasm for the open source Fastlane service.