User Avatar

Davy Engone

Frameworks explained

4y ago

Helping recruiters think like developers and make better hires through the Tech Jargon

React is NOT React Native!
Davy Engone

Before offering a React developer a React Native role, read this!

What is React?

React is a UI (User Interface) library. That means React allows developers to create User Interfaces. It was created by Facebook. If you use Facebook, you're using a product built with React.

The Philosophy behind React

Learn Once, Write Anywhere

The React team defines It as "Learn Once and Use Anywhere". That means once you've learned how to use React, you can use It to build web, mobile and desktop applications.

For non-technical people, It is important to understand that the idea of learning once and writing anywhere is powerful in software development.

One of the advantages is having a team of developers with knowledge of React that can simultaneously create applications for different platforms instead of having a dedicated team for each platform.

What's Native in React Native?

In software development, there are two platforms that compete with each other:

  • The Web platform: where websites run

  • The Mobile platform: where mobile apps run

A simple example of that competition is quite visible at Apple. Their level of Investissement on iOS (Mobile) versus Safari (Web) is telling. They really want the Mobile platform to win over the Web platform.

On Mobile, they are native technologies used to create apps:

  • Swift, Objective-C, SwiftUI and Cocoapods for the iOS in the Apple world.

  • Java and Kotlin for in the Android world.

These technologies are labelled as Native technologies because they allow developers to build apps for these platforms without the need for a translator.

Think of it this way, a French speaker doesn't need a translator in France to live in the country. French is the Native language.

However, React was created for the Web! Therefore, It's not Native to the Mobile ecosystem (iOS or Android). React Native bring the React way of writing UIs to the Mobile ecosystem. This means that a React developer, with less effort, can build applications for the Web and the Mobile platform.

This was a game-changer in 2015 when It came up. The alternative approaches were quite hard. I'll cover them in another essay.

Today, there are more technologies that offer such capabilities: NativeScript, Flutter and Xamarin.

Takeaways

React (Web) and React Native (Mobile) are 2 products by Facebook. They created these products to allow their teams to work seamlessly on their web platform and their mobile applications. That opened up the opportunity for web developers to become mobile developers as well.

However, each platform has Its own specificities. Therefore, you cannot just offer a React developer a React Native role. A better approach is to ask them if they would be interested in building Mobile apps assuming they have experience with React.

This was React is NOT React Native!

If you found this useful, please share it in your community and share your feedback with me in the comments section.

Don't forget to take the weekly test to see how you stack up with your peers on the tech jargon.

Until next time, take care!