Not many people realize but the race to build and perfect cross-platform applications precedes most of the platforms themselves. From Symbian and Blackberry to Android and iOS, app developers have always strived to create universal apps that work seamlessly across all platforms. But for the most part, such cross-platform apps remained clunky, unstable, and at best, a shadow of their native counterparts- thus a bad proposition for business investment.
In recent years, however, there has been remarkable progress in the domain with tools like Ionic, React Native among others that deliver far more superior cross-platform apps. This change in app quality was largely achieved due to a shift in how apps are made.
Up until 2018, cross-platform mobile app development was split into two factions:
- Using the webviews
This delivers native-like interface and experience but not performance.
- Use of native components
Performance is better than webviews but not as good as native apps.
Then in February 2018, Google, with the (beta) launch of Flutter, introduced a third approach to build cross-platform apps. Take empty widgets and customize them to work on any platform- be it the Material design for Android or the Cupertino for iOS. The customization, however, works through an entirely new language called Dart, something we would get back to later.
At this point, Flutter is just a few months old and it’s too soon to pass judgments on its success or failure but its trajectory does seem promising:
After 3 beta versions and 2 Release Previews, the first stable release- Flutter 1.0 seems ready to launch any day.
Its adoption by Alibaba, Groupon, along with Google’s own AdWords application in the beta stage itself is an indication that the SDK is ready to handle the production stage.
So what does Flutter bring to the table?
Basically everything you would expect from any cross-platform app development toolkit and more:
- Less code
- Short development cycle
- Platform independence
- Third-party compatibility
- Native themes and UI
Along with that, apps built on Flutter also deliver exceedingly better performance than other frameworks like React Native. This native-like performance is what ultimately might propel it to become the defacto choice for cross-platform development in the future.
This makes it perfect for building MVP- that needs be deployed quickly and showcase real-world performance. You might find offshore developers who are already working with technology to get your first taste of this SDK.
But as mentioned above, Flutter is still a work in progress awaiting its first stable release. For that reason, there are a few issues including:
- Lack of libraries
- No Support for other platforms like TV or browsers
That means it’s still not ready to build full-scale applications that would use a wide range of libraries.
But while most such issues would be solved over time, there is one factor that might cause it to falter- Dart.
Dart isn’t a bad language. On the contrary, it has received mostly positive reviews but it is new and the developer community doesn’t like new technologies to be forced upon it. The fall of mighty Windows Mobile Platform is a great example of how even an exceptionally good platform can be doomed if it fails to gain the support of the developer community who ultimately build apps.
Flutter 1.0 may be released any day now and app developers in India are already experimenting with the technology with mostly positive reviews. If the momentum continues, there is a good chance that Flutter would be the new face of cross-platform app development and may even challenge the native apps in coming years, but that’s a story for some other time.