Cross platform App Development – React Native and Flutter taking the market by storm

Cross platform mobile app development – the 2019 most trending topic among all those with an interest in software production. Startups and established businesses, big brands, as well as software developers and software houses, – they, or dare I say – we all want the same thing when producing software. We want it done quickly, at the lowest possible cost and highest possible quality.

Wanting is all well and good. But, you really cannot have it all. Or can you? What about the utopian idea, the holy grail of all things mobile – the almighty cross-platform development?

The idea of hybrid or multi-platform mobile software isn’t new. Growing differences between  native technologies lead to a dramatic increase in costs of developing native iOS and Android mobile products, so the need for alternatives and cost cutting follows naturally.

Between 2011 and 2019 there were several attempts, most of them successful in one way or another, at creating cross-platform frameworks for mobile development. 

React Native and Flutter are the current talk of the town, where Xamarin, Ionic and Phonegap are leaning towards decline. I will cut to the chase of “The Cross-Platform Race” and focus on the 2019 edition’s leaders – React Native and Flutter.

Cross Platform Development

React Native – Cross platform mobile development framework

The Facebook-created cross-platform framework has been around for a good few years now. A very good initial reception and lots of Facebook’s parental care gave the framework a solid base for growth. 

The name and roots of React Native are in React.js – the library used, among others, for developing the Facebook platform. React Native utilises Javascript when writing UI components for both Android and iOS systems. 

High demand = bright future

In 2019, demand for React Native development is in constant growth. So much so that in many regions of the world, the demand has far surpassed the available supply of programmers. This fact on its own causes a little dent in the claim that developing in React Native significantly reduces the overall cost of application development. With a shortage of coders, the costs of hiring one goes up significantly when compared to native iOS or Android specialists. 

Good and getting better

Still, other qualities of the framework are not without merit. Hot reloading for instant preview of introduced changes, one codebase for two platforms, ever growing choice of libraries and continuous support both from Facebook and the open source community, all make React Native an increasingly more interesting option. 

The marketing efforts and support helped React Native gain popularity worldwide, but not without causing some misconceptions and unrealistic expectations. You could say React Native became, to some extent, the stuff of myths and legends. More about it you can read in one of our articles: React Native Myths and Facts 

Not all roses

For us, software makers, adding a new framework to our services opens our business to new possibilities. We see ever increasing interest from clients wanting their products created in React Native. Whenever cost-cutting and speed are of the essence, the cross platform question is sure to pop up. 

React Native, apart from advantages, is still a maturing technology and not without limitations. Not to get too excited about it being the pinnacle of perfection, it’s worth to take a good look at all the pros and cons of using React Native, before betting your money on it. 

In with the new, but keep the old

Since budget savings and time-to-market matter most these days, and we want to satisfy our customers’ needs in this respect, expanding our toolset becomes necessary and the change is inevitable. Updating traditional, native tech stacks is a regular process, but introducing a whole new approach can be tricky. With React Native, the introduction process is quite smooth and straightforward. Having JavaScript as base for coding, adopting a new framework by developers is a matter of wanting rather than requiring extensive training. With a growing shortage of React Native specialists, upskilling devs in-house is a logical choice for most software houses.

If it works, why not try it? 

As for real-world application, apps build with React Native are becoming a natural part of the landscape. Appreciated by both startups and developed businesses, the technology is being used to create software for both B2B and B2C mobile markets. Worldwide brands have had their go at releasing React Native apps, many successfully, others less so. 

We do see especially high interest in cross-platform from companies looking to develop initial, MVP versions of their products. Should you build your MVP with React Native? Only one way to find out (by clicking the link).

Flutter

For a baby framework (launched in 2018) Flutter is making a lot of noise in the mobile development community. No surprise there. “Beautiful, native apps in record time” is sure to appeal to anyone looking to build native apps really fast. After all, time is money and quality is everything. 

With the recent drive for app makers to focus on the User Experience, Flutter fits in perfectly with its promises. Both marketing and support offered by Google leaves nothing to chance. You can tell the search giant is serious about it and they keep showing it. Flutter’s official website is teeming with latest developments, documentation, articles and testimonials from both the creators and developers adopting the technology. Google is keeping its eye on the ball, no doubt.

Gaining ground fast

The customer base, albeit still small due to framework’s very young age, already boasts big names like ebay, Tencent or Alibaba Group. Not to forget BMW company – perhaps the most enthusiastic, borderline happy-go-lucky, early adopter. A tiny bit surprising if not suspicious for the usually precise and quality driven carmaker. The app is still in development, and not much is shared in terms of specifics, but judging by Guy Duncan’s, CTO Connected Company at BMW, words: “By combining Dart and Flutter we have the first true cross-platform mobile toolkit; we feel it is a game changer to ensure feature parity for digital touchpoints and IoT…” we will be looking at an app directly connecting you with your car and the web. 

Programmers angle

Flutter’s reception by the global community of developers is very positive. Programmers appreciate the thorough documentation, support, info on latest developments and new possibilities the new cross platform framework offers. Our own initial  Flutter review is quite positive and we are looking forward to fully implementing it as one of offered software development services

Everyone’s interested

We see an increasing number of business clients from the U.S., the U.K. and other developed western countries turning to software development outsourcing of React Native projects to central and eastern Europe and Asia, where software houses offer comparable quality with a much more attractive price tag. From a Poland- based software house’s standpoint, offering Flutter and React Native, we are getting a better chance to engage in interesting app projects with clients so far dedicated to working with local providers. If cross-platform mobile app development is our foot in the door trying to reach overseas markets, then cross-platform we shall do.

Agility is the word

When considering Agile methodologies and their inherent flexibility and adjustability to change, both React Native and Flutter seem  to be ticking all the boxes. 

We Using a single technology for both iOS and Android applications, we are looking at increased interoperability within project teams, straightforward management and developing for both systems at the same time and pace. 

From the client’s perspective, cross-platform development provides interesting advantages. Saving money tops the list, but a single codebase, easier management, faster time-to-market while retaining high quality, are also making it an increasingly more attractive choice. 

Now works with Scrum!

A significant, sometimes overlooked advantage of cross-platform technologies is their near perfect fit with Agile development methodologies. With the current trend of using Scrum in IT project management, cross-platform frameworks such as Flutter and React Native offer much in terms of flexibility.  

Combining Scrum and cross-platform works for Product Owners giving them better oversight and clear idea of the progress being made for both iOS and Android apps being developed. Scrum Masters need only worry about a single, uniform backlog and Development Teams can work together seamlessly without time-consuming consultations between Swift (iOS) and Kotlin(Android) programmers. Quality Assurance gains as well, having to test a single-codebase product instead of two completely different (on the inside) applications. 

The third option

All in all, we can safely say that cross-platform app development is here to stay, and we will be seeing more good coming from both React Native and Flutter. Compared, these two are a few years apart, React Native – the “older brother” and Flutter the up-and-comer. Together, they form the third power in the app-making market and can be expected to be making waves across the IT services landscape for years to come.   

5 (100%) 3 vote[s]