A data driven decision on Cross Platform Mobile development (Flutter VS React Native)
Tags: flutter, reactnative, mobile, data
Published: 2022-10-23 14:24:11

A little intro of me so you can see my motivations/reasons; 

I want to create some side projects which are mobile apps, but I don't want to have to write native code for 2 platforms! I also would like the easiest & fastest developer experience & I need to make a decision on which framework to use, without procrastination by watching YouTube every time I need to start a project.

I'm a full stack consultant & developer, my usual day to day consists of JavaScript, TypeScript or Python.  I've created full stack solutions with React on the front end, so my thinking is that React Native shouldn't be too much of a jump, right?

On the other hand, I've also used Flutter to develop an anonymous crowd sourced voting application for one of my university modules. I found the documentation quite easy to follow, & the Flutter community is even bigger now than it was back when I last made a Flutter application.  I don't like to make a decision without some data insights, so let's pull data from Stack Overflow, GitHub and some job boards like Glassdoor.

For our first comparison, let's take a look at Google Trends for search results of [Flutter vs React Native over the last 5 years](https://trends.google.com/trends/explore?date=today%205-y&geo=GB&q=Flutter,React%20Native):

![Interest over time between Flutter (blue) and React Native (red)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qga0q3nqzt21or3hn1eb.png)
Interest over time between Flutter (blue) and React Native (red).

Data from the [Stack Overflow 2022 survey](https://survey.stackoverflow.co/2022/#overview) also shows Flutter in the lead (but just slightly!) when it came to the question "Which other frameworks and libraries have you done extensive development work in over the past year, and which do you want to work in over the next year?".

![Stack Overflow 2022 survey for Which other frameworks and libraries have you done extensive development work in over the past year, and which do you want to work in over the next year?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hi4b6gddbxgdus1of9i.png)

A snapshot of both Stack Overflow and GitHub data, taken late October 2022:

| Data | Flutter  | React Native |
|--|--|--|
| Stack Overflow Questions | 143, 512 | 123, 937 |
| GitHub Stars | 146K | 105K |
| GitHub Forks | 23.6K | 22.5K |
| GitHub Issues | 11, 081 Open/63, 386 Closed | 1943 Open/21, 406 Closed |

Just using the data regarding number of Stack Overflow questions, you could come to the conclusion more questions means more problems/issues, or that there are more developers using this framework. Similarly you can say the exact same looking at the number of GitHub Issues for both Flutter and React Native.

A lot of people compare the speeds of both Flutter and React Native. React Native’s architecture requires bridge-based communication that enables interaction between JavaScript and the native user interface components and device-specific elements such as camera, Bluetooth, etc. Because of this, React Native is a bit slower than Flutter. Flutter doesn't rely on bridge-based communication instead it uses Skia, it's core graphic engine to compile the UI to device native code. Nevertheless, the small difference isn’t going to be noticeable in your everyday use case.

One final point is that Flutter provides a lot of "out the box" functionality, when compared to React Native that gives you a lot more flexibility to pick and chose what you use for UI, build, packaging etc.

For a new challenge & to be different, I'll go with the new rising star which seems to be Flutter. Whatever you chose, you won't be short of online material or useful third party libraries. One thing to note however, it seems as though there is more job roles that require React Native, most likely being that JavaScript is a much more ubiquitous language compared to Dart.