One codebase for web, mobile and desktop
Financial pressure is increasing on companies to adopt digital transformation and work more efficiently.
Constrained by drip fed budgets, companies have tended to buy software systems piecemeal with little thought to connectivity. Many companies now rely on multiple systems connected together by integration solutions such as Zapier, with some form of Business Intelligence layer as a reporting system.
Whilst this all works - sometimes - at best, it’s an inelegant solution. At worst, it’s a tangled web of systems and a support and maintenance nightmare.
What seemed to be value for money - buy the cheapest systems available - comes with hidden costs, of course. Not least of these are the need to devote expensive, overpressured IT resources into understanding how the system works (and having to retain those staff with “black box” knowledge, in a climate of increasing employee mobility and wage demands.)
What may appear to work as a holistic system can soon become difficult to manage, as one provider changes software functionality, leading to a domino effect and calls to multiple external software support teams. Downtime is expensive for any company selling goods and services, and the more complicated a piecemeal system becomes, the more unpredictable periods of unexpected downtime become as well.
Complicating the matter is that Mobile is now an absolute essential for many companies selling goods and services.
One integrated software solution
The Holy Grail is one integrated software solution, of course. And we might just now be approaching that point in software development.
What if you could have one system for Mobile, Web and Desktop apps? All developed from one codebase, connected to the same Cloud based back end and from one software supplier?
Well. You can.
Originally released in May 2017, initially as a mobile app development framework, Flutter has gone from strength to strength in the development community. Backed by no less than Google, the latest stable release allows for cross platform development for web, mobile, and, on a number of different operating systems, desktop apps.
All these platforms use (with minor differences) the same codebase. For mobile, the codebase is compiled to separate Native Android and iOS apps. With minor tweaks, mainly around screen sizing, the code can produce a web and desktop app as well.
Flutter 3.3 - the latest stable release - is supported on Android, iOS, MacOS, various Linux flavours and all of the most popular browsers. It will, in short, run on nearly every 64 bit OS available. It also forms the core of Google’s shadowy Fuchsia operating system, slated as a possible replacement for Android itself.
Flutter has caught the imagination of the developer community, with 500,000 apps developed since initial release. With the demise of older cross platform frameworks such as Microsoft’s Xamarin (now with a paltry 11% market share) and Drifty’s Ionic, which is not far behind Xamarin, the only other real contender is Meta’s React Native, the mobile version of React, with which it shares a mere 40% of code similarities.
Flutter has specifically been designed to be cross platform: React has had cross platform forced upon it.
With Google’s ambitions for Flutter becoming obvious, and proper investment and support, Flutter appears to be “the next big thing”. Flutter is intuitive and well documented, with the result being that apps can be developed in half the time of traditional Native based apps, with lowered support and maintenance costs as well. It has the fastest Time to Market and hence best ROI of any app development framework currently on the market.
So, in summary - Digital Transformation is upon us all. Whilst, to overworked IT departments and Finance Directors, it may seem an expensive and convoluted headache, it can probably be viewed as an opportunity for a company to divest itself of piecemeal systems and support and maintenance headaches, and take a strategic approach to moving to a more efficient, competitive and ultimately less costly architecture.