If you’re interested in building mobile apps, you’ve probably heard of React Native. The open-source framework took mobile development by storm after it was released by Facebook in 2015.
Today, most people browse the Internet on a mobile device instead of a desktop, so it’s important that businesses have a mobile presence. The best way to do this is with a mobile app. Unlike standard websites, mobile apps allow businesses to communicate directly with their customers through notifications and messages.
Traditional mobile app development requires the knowledge of two separate platforms (and their associated programming languages): Android and iOS. But, with React Native, you can develop hybrid applications that run on both.
In this article (and in the video below), we go into more detail about React Native, how it works, and what it can do for your mobile development projects.
How React Native works
React Native makes it easy to develop mobile applications that run on both Android and iOS. When running a React Native app on either platform, it looks and acts exactly the same. If you were to compare them side by side, you’d see that:
- The app looks and feels almost identical on either phone.
- The user interface is consistent.
- The scrolling and searching work the same.
As Mike, a developer from Philadelphia, explains in the video above:
“The Android version acts and responds the way you’d expect an Android app to act and respond. We can use the back button. We get the same scrolling effects and animations Android users have come to expect. And the app will use whatever keyboard the user has set for searching.”
With regards to the app running on iPhones, Mike added:
“The iPhone version is the same. It acts and responds the way iPhone users would expect and integrates with the gestures and actions that those users are used to.”
Now, this may not seem surprising at first. If you’re a business, you want to develop iPhone as well as Android apps. You also want them to look and act the same. The surprising thing is that this normally would involve building two separate apps using totally different programming languages. But with React Native, it doesn’t.
With React Native, you can use the same technologies and programming languages used for web development. As a JavaScript framework, it lets developers build mobile apps that run on both iOS and Android using a single JavaScript codebase.
React Native apps act just like the native apps you could build separately for each device. These apps can also be sold through the App Store or Google Play, just like their native counterparts. They’re also just as fast and efficient as native apps and automatically integrate with native devices.
The story of React Native
When React Native was first released, it had an enormous impact on the mobile development community. It was groundbreaking. No longer did you need specialized Android and iPhone developers. A Web Developer could now build a complete mobile app using one codebase.
After recognizing how it made mobile app development so much easier, Mobile Developers and businesses immediately started using React Native. It also lowered the barrier to entry, as web development teams could now build mobile apps with only a little extra training.
You can find React Native in many of the apps you use every day. Some mobile apps that use React Native include:
- Uber
- Coinbase
- Shopify
- Discord
Despite this widespread usage of React Native by tech companies, both big and small, it’s still a relatively new technology. The React Native framework was first announced at Facebook’s ReactJS conference in 2015 and was released to the public later that year. The engineers behind its development based it on Facebook’s existing JavaScript web development framework, React.
React Native is still maintained today by a core group of developers at Facebook, but a lot of its direction is guided by the open-source development community behind it. It’s currently one of the most popular open-source projects of any type on Github, is completely free to use, and has a development community reaching millions.
React Native’s popularity is a testament to how fast and easy it makes building mobile apps for both Android and iOS.
Getting started with React Native
Now that you see how easy React Native can make your mobile development process — want to know more?
You don’t have to know the Android programming languages, Java and Kotlin, or the Apple programming languages, Objective-C and Swift, to develop apps with React Native. But, it does require knowledge of the JavaScript programming language, which you can pick up in our Learn JavaScript course.
You’ll also need to know the React JavaScript framework, which you can learn in our Learn React course. Of course, you can get started right away with Learn React Native if you already know these technologies. This course will teach you how to use Expo along with React Native to create a complete mobile app that runs on both an iPhone and an Android phone.