Hey notJust Developers,
The results of the State of React Native survey are public. This is the second edition of the survey, organized by Software Mansion, in which 2400 developers voted.
Let’s see what is the React Native ecosystem up to.
This Issue is sponsored by IBM STEPZEN
Intimidated by GraphQL? 😱
With IBM StepZen you’ll be impressed how easy it is to build GraphQL APIs.
All you have to do is run a CLI command ($ stepzen import), and IBM StepZen does the rest. It connects with a wide range of data sources such as SQL databases, Rest APIs, and even other GraphQL APIs.
I’ve personally used it in multiple projects (Spotify, StackOverflow, LinkedIn) and it saved so much time.
Let IBM StepZen take care of the boring stuff so that you can focus on building impactful apps 🚀
Meet the typical RN dev
Based on the most common answers from the survey, this is the profile of a React Native developer:
- Male, 25-34 years old, from the USA
- Has a tech-related higher education
- Has 6-10 years of experience, but only 3 years with React Native
- Works in a medium-sized company and is making $50-100k
- Previously - a front-end developer working in React
- Uses a macOS and builds apps for both iOS and Android
- Has released 2-5 apps and the best one has 10-100k downloads
Platform APIS
One of the main reasons why we build mobile apps, and not PWAs, is access to platform-specific APIs. The most used platform APIs are:
- Camera 📷
- Permissions 🔒
- Notifications 📲
- Deep links 🔗
- WebView 🌐
State management
It’s not surprising, but 97% of respondents are using and will continue to use built-in state management solutions like useState()
and React Context. In a lot of cases, you don’t need more than that.
The usage of Redux, is still surprisingly high at 78%, down from 85% in 2022. At this rate, by 2035, we won’t have to deal with Redux anymore. It seems that I am not the only one that tries to avoid Redux. Of people who have used Redux, only 44% would use it again.
Zustand’s usage grew from 22% to 37% in the last year, and 93% of them would use it again. That’s a good sign.
Fetching
How do RN developers fetch and manage data?
Fetch API is the go-to solution for retrieving network data with 91% usage. It’s built-in and easy to use.
What surprised me, was seeing Axios with 88% usage. Do people still use Axios?
However, data fetching is not just about network requests. We should also handle caching, error handling, loading states, and synchronization.
In this category, TanStack Query is leading the survey with 55% of developers using it, growing from 45% in 2022. Of people who tried it, 97% said they would use it again.
Apollo Client is losing this battle, dropping from 46% usage in 2022 to 39% in 2023.
It’s not very fair to compare Apollo Client, which focuses on GraphQL, with TanStack Query which is backend agnostic. From my experience, Apollo Client is doing a better job when it comes to working with a GraphQL API.
Navigation
The way we do navigation has changed in the last year. Expo Router was released one year ago, and it already become the 2nd most used navigation library, growing from 12% to 40% usage in 2023.
React-Navigation continues to hold the first spot, with 92% of respondents using it.
Don’t forget that Expo Router is built on Top of React Navigation. The major difference is that Expo Router is a File Based Navigation system. This is something new when it comes to mobile apps, and I am happy to see the community adopting it so well. Once you try it, you will never want to go back.
I would also like to add that Expo Router is doing much more than handle navigation. Especially with the API Routes, it becomes a framework for building Universal React Apps.
Styling and UI Components
The built-in React Native StyleSheet API has the most usage. Even inline styles are widely used. If it works, you can go for it.
However, when it comes to third-party styling and UI components libraries, the options are endless, with so many new libraries being introduced in the last year.
There are no clear dominant libraries in this category. It depends on the project and your preference.
The difference between what is being used and what are people interested in is so different.
What’s actually used out there 🔍
Styled Components is the only library, with such a huge usage, at 61%.
Picking up the pace quite fast, behind it, comes:
The most used UI components libraries are:
What are people excited about? 🙌
And hundreds more….
Animations
React Native Reanimated holds the crown 👑 as the animation library for React Native, with 86% of respondents using it, and out of 98% would use it again.
React Native Skia is picking up the speed, growing its usage from 16% to 27%. What’s impressive, is that 98% of people that tried it, would use it again.
Debugging
Console logs win over any over-engineered debugging tool. That makes me happy 😀
But, on a serious note, 2023 was a big year for debugging in the React Native ecosystem.
Even with all the new tools and improvements, debugging remains the main pain point in the survey. At this point, I believe that developers, when they can’t fix their bad code, blame it on bad debugging tools.
Resources
The majority of devs are using self-directed learning from RN & Expo Docs, Videos, and Courses.
Hey, we made it to the Top 5 Video Creators category and also in the People Category. Thanks for your votes 🙏
Is RN moving in the right direction?
Based on the survey, 85.8% of people think that React Native is moving in the right direction. A small increase from the previous year 82.4%.
What do you think? 👀
- Hit reply, and share your React Native experience.
- Is RN moving in the right direction?
- What are the pain points of building and learning React native?
🔴 Join me live
This Friday we will build Build Flappy Bird with React Native. It's going to be a tutorial packed with value, so set a reminder and don't miss it out 👇
🔁 In case you missed it
React Native Full 8 Hours CourseA masterclass that takes you from a beginner to an expert in Mobile development | | STOCKS Price TrackerTutorial about building a Stocks Price Tracker App in React Native |
🔥 Press worthy
1️⃣ React 19 will introduce the React Compiler, making useMemo, useCallback, and useContext unnecessary.
2️⃣ Meta just open-sourced React Strict DOM, which allows you to build universal apps with HTML
3️⃣ I’ve got some discount for App.js conf. Reply if interested
Did you learn something new today?
If you found this email valuable, forward it to one friend or coworker who can benefit from it as well. That would be much appreciated 🙏
| | Vadim SavinHelping you become a better developer together with the notJust.dev team |