Reliable. Flexible. Fast. High quality. Rarely does one programming language deliver so much in so little — but React Native does just that. In this primer, we explain why every business owner must consider switching their app to this versatile language.
A lot of people found React Native too jarring. Build times can be too high, .apk sizes can be too large, and potentially complicated integrations can throw people off. But beneath the grime and dust, awaits a lithe, mean, and uber-adaptable language that rushes to deliver.
Consider, for a moment, Coinbase’s tremendous success with a transition to React Native. Their clear recognition of its pros, cons, and the context around React Native eliminated a lot of the early misconceptions and false steps.
Their experience helps us boil our questions down to something simple:
What is React Native and how does it work?
When does React Native make good sense for your team and/or your projects?
In a nutshell, developers see React Native as a faster and cleaner way to build flexible and responsive cross-platform apps that work and feel like native ones. So it should come as no surprise that many Fortune 1000 companies and fledgling startups alike have leveraged it.
Cordova Made History. React Native Made it Better.
So the promise of React Native is taking the accessibility and cross-platform boons of Cordova and marrying them with real native rendering.
React Native is NOT React.
In order to understand how React Native works, the natural confusion between React and React Native needs to be addressed: While close relatives, they’re NOT the same thing, although both come from Facebook developers.
A little about React (React.js)
It appeared first in 2011.
React Native: Pros and Cons
The React Native user experience is like a native app’s with a smooth and responsive interface. However, there’s no denying that it needs some workarounds and fixes.
Condensed learning curve
For front-end web developers, React Native is easy to pick up and allows them to seamlessly switch to mobile app development. If they are aware of platform-specific APIs and design patterns, and familiar with native UI elements, they’re ready to go!
React Native doesn’t demand the cost and time required for maintaining separate Android and iOS code bases.
Compared with other hybrid app development tools, React Native offers higher performance, smoother animations, and sidesteps issues with browser compatibility.
Challenges and Pain Points
Every platform has limitations. There are justifiable reasons for developers and companies to step away from React Native.
The subtle difference
React Native apps will perform very closely to fully native apps’ levels. The difference is below the radar for most users and use cases, but can be noticed with heavy data crunching or graphically-intensive experiences, like 3D.
React Native is built on an open source foundation and uses a variety of different projects with different owners and licenses. This involvement may prompt additional scrutiny from your legal team.
React Native doesn’t always get access to the latest and greatest features right away, and developers may need to do some extra native engineering to access some iOS and Android platform capabilities.
A few missing pieces
Currently, RN does not currently offer support for devices beyond phones and tablets, like Apple TV or Apple Watch.
Questions around longevity
While backed by Facebook and its massive popularity offer some assurances, it’s impossible to say if React Native will still be maintained in 10 years.
Abandonment can’t always be taken at face value
Admissions of defeat by famous brands like Airbnb and Udacity stirs the pot. Their articles clearly talk about the problems they encountered with React Native, the less-than-streamlined integration with Android, and its problematic organizational gaps.
But there’s more to it.
Chances are some of the development teams within these companies are still enthusiastic about React Native’s potential in the grand scheme.
After all, trying out and learning from new tools is a common tactic when companies are looking to change or coin their own development approach.
What’s the strategy behind React Native apps?
When sitting down with a partner to define app strategy, here are a few questions you should consider:
Installation: What are the installation requirements for the app?
Control: How much control does the user have?
Experience: What type of user experience do you envision?
Platform: Are you building for a specific piece of hardware, or do you plan for cross-platform functionality?
Even generally speaking, React Native’s potential for quality cross platform development is far stronger than that of Cordova, Ionic, Xamarin, and even Native script (for native platforms).
React Native Down the Road
Whether or not React Native is right for your app strategy depends on your internal goals and expectations.
For most companies, React Native is the balance they strike between accessibility and user experience. It’s almost like you could build native while avoiding the high costs of developing and maintaining separate codebases for Android and iOS.
Where the challenge arises
Most companies try to approach React Native projects with an in-house team. As we’ve seen with Airbnb and Udacity, this isn’t always a great idea.
There can be many reasons. For instance, it’s not always possible to assemble an internal team that has the experience and skills to build you something in react native or to embellish an existing native platform with react components.
Native code may seem like the easier option internally but may not make the best business sense.
How to counter this challenge
In almost every scenario, it makes more sense to work with an accomplished agency that has the stripes to prove their React Native experience.
Skilled developers who know how to navigate the unique challenges React Native throws up not only save you incredible amounts of money but shave away a lot of time in development.
So if you have an idea that you’d like to see materialize in React Native, we recommend you schedule a free consultation with a member of our team. They bring a lot of experience in building apps with React Native and could help you spot planning holes early on.
And in an industry that rewards early movers more than anything, this might be your safest bet.