All Blog Posts

React-Native: The Good, The Bad and The Ugly

Before we get into the nitty-gritty details of React-Native, and delve into the intricacies of the ways in which React-Native can help and hinder. We want to kick things off with an overview of why we took the plunge, and how React-Native has been working for us so far.

Development

React Native

Duncan Cook - Managing Director.

Duncan Cook

Want to know more about React-Native? So did we. When we decided to make the shift to a React-Native way of working we wanted to read up on the good, the bad and the ugly of this game changing, cross-platform app building framework. When we discovered that there was limited literature and discussion surrounding the subject, we decided to open up the conversation ourselves. Over the upcoming weeks we will be sharing our thoughts on React-Native in the form of a mini blog series.

For years there have been new hybrid app building systems attempting to revolutionise the process. Some have been terrible (PhoneGap and Kordova to name a couple) and some are not so bad (Xamarin). However none of them can compete with the promise of what you can do natively.

So what are the advantages? React looks different, real different. It offers so much more to developers allowing them to work in an entirely new way. It is immensely time saving – writing certain code once halves development time, dramatically freeing up resources. The power to fix bugs, add features without resubmission and make changes to layout as and when makes React-Native a real game changer. React-Native let’s you approach mobile in a completely different way and this opens up a wealth of possibilities.

‘Like what?’ I hear you cry, well, that is what we will be exploring throughout this React-Native mini series – the ups and downs, the highs and lows, the many advantages and as of yet minimal disadvantages of working on this framework.

Simon Mitchell - iOS Developer.

Simon Mitchell

React-Native has been a big learning curve for us at 3SC, It not only involves learning a new language but also developing a massive trust in the developer community. The JavaScript community is large and bustling, and there are a plethora of handy frameworks and libraries which make complex programming tasks utterly trivial. This is fantastic for us, however can also be very dangerous as we’re trusting others to do parts of our job for us.

React-Native adds a lot of possibilities for us as developers, the way in which it compartmentalises view components away from any logic makes it very versatile, and how we can utilise that in the future will lead to some really exciting development! A lot of the experimenting we’ve done with our model/data paradigm in Javascript is also really exciting, moving away from a MVC approach to a data down, actions up redux approach, which is very exciting, and something we’re looking forward to experimenting with and sharing with you in our future posts.

The other beautiful thing about React-Native is the fact it allows us as developers to share the vast majority of our logic and UI code, meaning we can share ideas and implementation more between teams without the barrier of an entire language! Before an iOS developer would have to help/review you and your code, but now we can all come together on problems and solutions, which not only helps us solve problems but come together as a team in ways we didn’t previously!

Tim Matthews - Android Developer.

Tim Matthews

React-Native has been a big learning curve for us at 3SC, It not only involves learning a new language but also developing a massive trust in the developer community. The JavaScript community is large and bustling, and there are a plethora of handy frameworks and libraries which make complex programming tasks utterly trivial. This is fantastic for us, however can also be very dangerous as we’re trusting others to do parts of our job for us.

React-Native adds a lot of possibilities for us as developers, the way in which it compartmentalises view components away from any logic makes it very versatile, and how we can utilise that in the future will lead to some really exciting development! A lot of the experimenting we’ve done with our model/data paradigm in Javascript is also really exciting, moving away from a MVC approach to a data down, actions up redux approach, which is very exciting, and something we’re looking forward to experimenting with and sharing with you in our future posts.

The other beautiful thing about React-Native is the fact it allows us as developers to share the vast majority of our logic and UI code, meaning we can share ideas and implementation more between teams without the barrier of an entire language! Before an iOS developer would have to help/review you and your code, but now we can all come together on problems and solutions, which not only helps us solve problems but come together as a team in ways we didn’t previously!

Greg Gomez - Solutions Guy.

Greg Gomez

So, where my colleagues can give you a really good rundown of the technical intricacies that make React Native an attractive proposal for mobile developers, I wanted to share my thoughts of why I think clients will love it too.

The initial benefit that strikes me is the ability to prototype with even more rapidity than previously. React-Native will offer developers unparalleled speed in developing high fidelity prototypes, so ideas can be validated, assumptions debunked and implementations battle-tested in record time. Developing a component once allows us to reuse it easily in other projects, meaning that over time you’ll amass a nice library of drop-in components to build prototypes from. It means that time spent re-inventing the wheel, can be spent solving your client’s problems and delivering value.

Secondly, the potential for live updates is something that I think needs talking about. Just spent a gruelling two weeks waiting for an Apple App review only to realise there’s a huge bug nobody spotted when it goes live on the App Store? That’s practically a worry of the past, if the bug is in the JavaScript code in your shiny new React Native app, the likelihood is that you can issue an over-the-air update to your app to fix it, bypassing the whole app resubmission and review process.

This has huge ramifications for iOS development with it’s onerous review process. For your clients, this means you can be more responsive to feedback and competitor advantages and even on Android where review processes are not a big issue, it can still ensure the users have the absolute latest features.

It’s worth noting that there’s some setup involved with over-the-air updates, I’m sure the tech and infrastructure behind it is something one of our developers will be exploring in more detail, so stay tuned! From me, you can expect more posts from the perspective of a Project Manager, I’ll be exploring how React Native changes our quoting, estimating and development processes and what impact – positive or negative – these may have on our industry.

Published on April 13, 2016, last updated on August 7, 2018

Give us the seal of approval!

Like what you read? Let us know.

1

Tags

Join us for a Mobile Disco

Bring your ideas to life...

Find Out More