React Native

Our mobile apps for iOS and Android are implemented using React Native. React Native works buy executing the application logic in JavaScript, and rendering the results using native code.

The result is an application that can not be distinguished from one written in Objective C, Swift or Java by the end user. React Native has been engineered to provide fluid user interface and 60fps animations.

At the same time React Native provides significantly improved developer experience, which results in higher quality, more reliable and supportable code.

For us the major advantages in using React Native come from the following:

React Native is available on GitHub.

Additional resources

React Native at WalmartLabs

The performance of the hybrid web view implementations aren’t great, even on high-end devices, and any semblance of a native feel is absent. Not only that, but because web views are heavily dependent upon network requests (we use server-side rendering for our web implementation), users with slower connections can have a rough experience. So, we were wondering: “Is there a way we can revamp or replace the current implementations to provide a better, smoother experience for our customers?” And, we started on the hunt for the answer ...

React Native has some great things going for it. The defining feature of React Native, and arguably its best selling point, is that it’s cross platform — allowing for simultaneous development on iOS and Android by the same team, which can cut labor costs roughly in half. Speaking of the team, JavaScript developers are plentiful, and the mobile-specific skills required are minimal, meaning appropriately skilled labor is readily available. Initial development, as well as development of incremental features, is very quick and therefore you can satisfy your customers’ needs faster than your competition. As icing on the cake, applications written in React Native generally speaking have comparable or even potentially superior performance to those written as native applications.

Read more...

Taking The Mobile Productivity Challenge

Many clients want mobile apps for both the iOS and Android platforms (and some for the Windows platform too). The conventional approach is to develop an iOS app using the Swift language (or Objective C) and a separate Android app using the Java language ... Although it’s possible that some requirements on future projects might not be so easy to implement in React Native, we can summarise our journey so far:

We set off hoping to improve our productivity when we are developing a mobile app on multiple platforms. We found that React Native did help by facilitating high re-use but also that it can even improve productivity developing for a single platform. An extra benefit is that using React Native for mobile development and React for front-end web development means it should be possible to share resources across the two disciplines.

We firmly believe this approach will bring a major improvement to our productivity, flexibility and competitiveness going forwards.

Read more...

Five reasons why web developers love React Native

As you probably know, there are a few other multi-platform solutions, like Cordova and PhoneGap, but they come with a price: the price of relying only on the phone browser and its built-in JavaScript engine, which is often way slower than running native code, like React Native does.

So what makes React Native so special? Here is a list of the top five things that will primarily interest web developers.

Read more...

Why our Startup Chose React Native and What we Learned

With the recent release of React Native for Android, the timing to bet your startup mobile strategy on React Native couldn’t be better.

Read more...

An iOS Developer on React Native

When I first caught wind of React Native, I thought of it as nothing more than a way for web developers to dip their feet into native mobile apps. The premise that JavaScript developers could write an iPhone app in JavaScript was definitely something that I thought was really cool, but I quickly shrugged off the idea of using it myself …. Fast-forward a couple of months, and I’m confident enough to say I may never write an iOS app in Objective-C or Swift again.

Read more...

React Native In Production

Regardless, React Native has gone viral in our codebase, and we’re doubling down. It might have some limitations, and may not be the right tool for everything, but React Native increased app quality while exposing more of the team to iOS development. What more could we want?

Read more...

React Native – The Killer Feature that Nobody Talks About

We already have React being applied to different areas with React Native, and at React conf Netflix announced they were taking a similar approach, even applying React to embedded devices like TVs using their own custom built rendering engine. We’ve also heard that Flipboard have swapped out the DOM in favour of canvas elements in their latest web app to impressive results. In the future we are going to see React applied to many different areas of front-end development by simply swapping the DOM and browser out for another view structure and rendering engine, whether that be mobile and desktop native elements, canvas, embedded devices, or who knows what. This will allow developers to use the power of React and its development patterns in any environment. Writing native applications for our phones is just the beginning, and it’s a direction I can stand behind. The biggest benefit of react native isn’t javascript. It’s React.

Read more...

React Native Will Ease, But Not Settle, The Native vs. Web Wars

React was designed for Facebook’s express purposes, and entered a crowded web full of frameworks with similar sounding names, like Angular.js, Backbone.js, and Node.js. But the framework has carved out a niche for itself. Major companies like Yahoo, Mozilla, Reddit, and Airbnb have said they use React.

Read more...

Taking The Mobile Productivity Challenge

We found that React Native did help by facilitating high re-use but also that it can even improve productivity developing for a single platform. An extra benefit is that using React Native for mobile development and React for front-end web development means it should be possible to share resources across the two disciplines. We firmly believe this approach will bring a major improvement to our productivity, flexibility and competitiveness going forwards.

Read more...