For a long time, if we wanted to develop a native mobile app for Android and iOS we had to have 2 development teams – one for iOS and the other for Android. Maintaining 2 codebase for the same app was not only extremely time-consuming but it also meant that it would cost twice as much as resource to develop a single app.
For those who have had the misfortune of using XCode and Cocoapods will no doubt have endured a great deal of pain over the years with things never really working properly. When you finally worked out the how to fix a problem within Xcode Apple would release a new version, force you to upgrade and you will be confronted with a whole new set of problems/bugs that you will need to find fixes for – and this perpetual cycle continues.
App developers are constantly having to upgrade the apps and release new versions to cater for new versions of the same operating systems, different device sizes, technologies being decommissioned even though they work perfectly and we need to do all of these twice – once for iOS and once for Android.
In 2017, with the backing of Google, a new programming language called Flutter hit the market by storm; its popularity and adoption has grown enormously ever since its launch. What is Flutter and Why is it so popular? Flutter is a programming language that allows app developers to write code for a native mobile app that can then be compiled into iOS and Android binaries and then subsequently submitted to Apple App Store and Google Play Store for release. The arrival of Flutter meant that startups can halve the development cost when creating native mobile apps because they only need to maintain one single development team which before would have been 2 separate one – one for iOS and one for Android. In addition halving development costs release lifecycles can be dramatically shortened because only one set of codebase needs to be maintained.
Prior using Flutter for app development, we did much research and tests because we were worried that we would run into issues with cameras for a particular brand of phone not being supported or very native operating system issues like push notifications, location-based serviced and the like coming up with errors but after testing across a number of different devices from iPad 2, iPad Retina, iPhone 6, iPhone 8, Samsung Galaxy, Xiomi and a number Android tablets we found that Flutter supported all of these different devices and a myriad of different versions of Android and iOS. We were pleased that support across different O/S versions, device types, screen sizes and viewing orientations was exceptional.
This technology is quite new so apps that will be developed in future may be developed on Flutter; for apps that were launched before with separate teams for iOS and Android the cost of migration to Flutter may be too great to justify the move but those who are starting with clean slate and wish to build an app Flutter is definitely the way to go and where the future will be.
The only other shortcoming about Flutter is that there are not that many agencies out there who can use it to develop native apps on so we have gone out there to shortlist a few agencies that do use Flutter for native mobile app development and they are:-
https://www.intelivita.co.uk/flutter-application-development.php – A UK based app development Agency
https://www.ikomobi.com/ – An app development agency from France
https://www.suriainternational.com/flutter-app-development-company/ – A Singapore-based Flutter Agency
https://www.hodfords.com/en_US/mobile-apps-development/ – A Hong Kong-based app Development agency that uses Flutter
https://ebpearls.com.au/flutter-app-development/ – An Australian mobile apps developer that uses Flutter