I’ve worked on my fair share of React/React Native apps and subconsciously made the distinction that React is for the web and React Native is for mobile. That is, Divs become Views, click vs. press, etc. While at the Chain React conference, I listened to a talk by two Microsoft engineers about their work in building React Native apps for Windows. This concept intrigued me because it didn’t fit my previous mental model, I didn’t even know why you’d want to do that. Before this talk started, I had vaguely known about React Native Desktop. However, I figured it was still immature for production, and the tried and true method of building an electron app was fine for one-off apps.
Why is Microsoft investing in React Native?
This concept is exciting because the mental burden for developers to go from web apps → mobile apps → desktop apps, or, React → React Native → React Native Desktop is relatively low.
What does this mean for your business or product?
Developers onboarding onto a project will have a quicker and easier time contributing due to familiarity with the tooling.
Frameworks like Expo modules allow you to build most of your app in a platform-agnostic manner while maintaining the ability to write native modules for specific components.
Most bugs can be fixed once and forgotten; otherwise, it’s platform-specific and can be addressed individually. The more niche a bug, the fewer users it will affect.
Users can expect their interactions to be consistent and intuitive no matter if they’re on their phone, tablet, or computer.
Easier to hire a team of developers familiar with React than hire a team of niche specialists.
The future is React Native?
So the real question you must ask yourself is what is the purpose of your app, and who are your users? If the plan is to build an app for internal use on company-issued hardware, then building and maintaining a native app makes sense.
If that’s not the case, React Native seems to be heading in a direction where “native” no longer means IOS or Android, Native simply means native. The direction I’m seeing is React Native means Native; it’ll build on whatever device you’d like with minimal variations.
I haven’t worked with React Native Desktop on a production level yet, but I look forward to the future. If you have built React Native Desktop, what was the experience like? Leave a comment below!