Mutual Mobile
Published in

Mutual Mobile

The Business Owner’s Guide to React Native

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.

Remember that famous series of posts about Airbnb sunsetting their React Native experience in 2016? Or Udacity’s famous retreat from the programming language in 2018?

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?

What is React Native and how does it work?

The React Native Story

The language has its roots within Facebook in 2013. It emerged as a code tool that built true native apps using JavaScript.

Where it proved especially useful was blending JavaScript’s business logic and flow control with native UI elements to reach the same performance as regular iOS and Android apps!

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.

As smartphone penetration improved, so did developers’ interest in building mobile apps with JavaScript. With cross-platform apps continually evolving, various JavaScript frameworks emerged. What gained the most traction was Cordova.

Cordova provides a web browser in an app shell. It renders HTML, CSS and JavaScript, but comes saddled with a lot of restrictions. Cordova forces the app to use a web browser to draw all of its screens, instead of using the native UI layer. It rarely looks or feels native — making user experience suffer.

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 is a JavaScript library, a framework for building web applications. It combines JavaScript with a speedy, new way of rendering a responsive web user interface. While the React concept forms its core, React Native uses the syntax and principles of React to enable the building of installable apps.

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.

The Desirables

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!

Concise logic

Through it’s cleverly designed SDK, React Native uses JavaScript to drive both business logic and the native user interface layer. Developers can take the same app logic from platform to platform and create a more unified user experience. For instance, here’s how React Native comes in handy if you’re trying to create stellar animated experiences.

Efficiency

React Native doesn’t demand the cost and time required for maintaining separate Android and iOS code bases.

Native performance

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.

Third-party licenses

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.

Feature workarounds

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.

--

--

--

We bring digital experiences to life through an integrated approach to design and technology.

Recommended from Medium

8 JavaScript Habits That Add Value to Your Code

Integrating GraphQL, Apollo Server, Sequelize-Auto with SQL Server.

How to structure large React apps

The Shop — Luxury Car E-commerce Store

Recipe site in Gatsby and Firebase-2

Compile Svelte in your head

Getting around Bootstap 4+ dropdown with Custom Directives in Angular: ‘.open’ vs ‘.show’

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mutual Mobile

Mutual Mobile

We’re an innovation consultancy that brings digital experiences to life through an integrated approach to design and technology.

More from Medium

Documenting user flows with our clients

Hand holding iphone with app wireframe on screen

10 Reasons Why React Native is the Best Framework for Building Mobile Applications in 2022

Woman holding an iphone with a green case

Which design architecture works best for your idea & iOS product? MVC, MVVM, MVP, or VIPER?

How Moti is the shortest way to create universal animation based on reanimated 2