Cross platform App Development – React Native and Flutter taking the market by storm
Cross platform mobile app development – the 2019/2020 top trending topic in the software production landscape. 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.
Are cross-platform apps real mobile apps?
Cross-platform frameworks offer the possibility of creating applications for multiple operating systems (iOS, Android) with one technology. Both Flutter and React Native make it possible for a developer to produce apps for more than one system. The obvious advantage here is the fact, that you only need one team to create two apps. This translates directly into time and cost effectiveness, with much smaller requirements for both management and Quality Assurance.
What is cross-platform app development
Basically it’s using a single technology/framework to create applications which will work on more than one operating system.
Wanting both the best and the cheapest is all well and good. But, you can’t have it all. Or can you? What about the Utopian idea, the holy grail of all things mobile – the almighty cross-platform development?
Cross-platform apps – the story so far
The idea of hybrid or multi-platform mobile software isn’t new. 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. Growing differences between native technologies led to a dramatic increase in costs of developing native iOS and Android mobile products, so the need for alternatives and cost cutting followed naturally. Starting with browser-based Web Apps – popular to this day and more than applicable in certain circumstances, through more native-like techs – Xamarin, Ionic, Nativescript and several others, we get to here and now.
Without a doubt, React Native and Flutter are the current talk of the town, where Xamarin, Ionic and Phonegap (along with a number of others) are leaning towards decline. I will cut to the chase of “The Cross-Platform Race” and focus on the 2020 edition’s leaders – React Native and Flutter.
Cross Platform Development
React Native – top 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.
High demand = bright future
In 2020, 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
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).
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.
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.
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.