An analysis of Google’s latest offering Flutter 2
On the 26th of January 2021, our fan-favorite debutant, the people’s champion, Flutter 2, made its way down the gilded stairs to be greeted by the world.
For the uninitiated, Flutter is an open-source development kit created by Google to develop native applications for both Android and iOS. But this was four years ago, and Google now has a shiny new build for its brainchild.
Google has unveiled version 2 of Flutter, and the upgrade offers a slew of new functionalities and features. However, the highlight of the release is that Flutter 2 takes the framework’s transition from mobile-only to support apps residing on diverse platforms, including web apps, Linux, macOS, Windows, embedded devices, and new form factors like foldables.
Join us as we dive deep into the finer nuances of Flutter2’s offerings, capabilities, and utilities as it slowly achieves equal citizen status with its counterparts.
1. Web Ready
Google’s main goal with Flutter 2 is to shift the way developers go about creating their applications. With the idea that developers should have sufficient bandwidth to focus on the experience, they wish to create rather than the platform they are building the application for.
The Flutter 2 release has introduced production-quality web support allowing developers to avail the functionalities of web innovations, e.g., Rich app programming interfaces, flexible layouts, and hardware-accelerated graphics (Both 2D and 3D)
With Flutter 2, Google has focused on three web application scenarios-
- Progressive web applications that combine internet connectivity with the abilities of a desktop app.
- SPAs that need only a single load to allow for data transmission to and from web services.
- Bringing existing Flutter applications to the web
Flutter 2 enables mobile app developers to reach the webspace while working with the same codebase they utilize to develop mobile applications. This makes a lot of business sense and facilitates coding ease. People can use their favorite services without going through an installation, and coders can now build for the web platform without learning a new language.
2. Enhanced Utility
Flutter 2 also lays emphasis on how Flutter has evolved from a UI Toolkit to an all-encompassing software development toolkit. In simple terms, Flutter 2 is Google’s solution to reach places that are hard to access. Existing Flutter Apps on google play get a free upgrade to Flutter 2, allowing app owners to target desktop users as well without any code alterations.
Flutter 2 has worked hard on optimizing the app performance on the web, and to that effect, it has created a new rendering engine powered by CanvasKit, text autofill features, control over address bar URLs as well as routing. Flutter 2 also supports keyboard shortcuts, interactive scrollbars, and accessibility options across all major OS systems.
3. Multiple platform support
Flutter’s first stable build in 2018 was developed to be platform agnostic (read mobile-platform). It was designed to enable developers create applications that felt and functioned native to the platform they were being run on. Codesharing was also given significant importance so as to avoid duplication of effort.
Flutter 2 takes this ethos forward with a focus on platform-specific considerations such as interaction (Keyboard and mouse setups or touch and swipe screens), optimization for multiple screen sizes, as well as multilingual user input.
Flutter 2 now includes internationalization support with IME editors for a diverse set of user languages, new widgets designed for desktop support such as TreeView and DataTable, and enhanced support for Apple development machines. Flutter is also now the default framework for applications on the Ubuntu operating system on the Linux side.
4. Google Mobile Ads support
Another notable update in Flutter 2 is a beta release for the Google Mobile Ads SDK. The Google Mobile Ads SDK is a plug-in that offers native and inline banner ads as well as other existing overlay ad formats with unified support for both AdManager and AdMob.
App Monetization has now been made not only easier but more intuitive making ad-serving part of the app experience instead of a jarring hindrance. Flutter 2 has also rolled out plug-in updates for Firebase authentication, cloud storage and messaging, and Crashlytics.
5. Flutter folio
For production apps, Flutter 2 supports three separate platforms now, namely, Android, iOS, and the web. It also has three other platforms in beta, i.e., Windows, macOS, and Linux. With such a widespread, it might seem difficult for a developer to write an app that runs smoothly, adapts to form factors like screen size and disparate input modes (keyboard and mouse, touch, etc.) To address these issues, Flutter 2 has introduced Flutter Folio, which is a straightforward and simple example of an application developed with Flutter. (read- runs on multiple platforms from a single codebase.)
Folio is meant to be a blueprint of an application that sports the capabilities of Flutter 2 and looks good on all screen sizes, supports multiple input methods, and works well for platform-specific idioms like menus on desktops and links on the web. Flutter folio aims at displaying Flutter 2’s platform adaptive capabilities with ready access to its source code.
Another reason why Flutter is the best framework for mobile development is because it is open-source. The open-source movement has acquired a ton of traction over the past couple of years. Big players like Facebook and Microsoft have made more than just a mark on the sphere, and Google also happens to be well acquainted with open-source.
Amazon, Facebook, Google, and Microsoft regularly clash as competitors, but they all co-exist peacefully in the open-source world. Flutter has now been quite the latest flavor in the open-source development community, with over 15000 packages available.
Given the neutral zone that the open-source world is, a vast majority of non-google entities like Adobe, Amazon, and Microsoft have contributed to Flutter 2’s release.
Winning a well-deserved special mention, Microsoft has offered up a few significant contributions, mainly around its focus on devices with the newly arrived foldable form factor. Microsoft has regularly been releasing code to support this design enabling applications to utilize the unique functionalities of this form factor.
Flutter 2’s continued presence in the open-source community is a well-thought-out strategy, given that Google requires a complete industry buy-in for Flutter 2 to flourish. With full access to its codebase, developers are also incentivized to stay close.
For a UI framework (read-Flutter2), giving developers the ability to track code right back to the stack is a massive positive, given that the framework itself is never in the position of being a limiting factor during development.
7. Fast and consistent coding
Just like its predecessor, Flutter2 is all set to power applications across app stores with its fast and consistent coding. Today Google’s Play Store houses over 150,000 Apps powered by Flutter.
Google stands firmly behind Flutter 2 when it comes to building applications. Some Google Apps that currently run on Flutter are Google Pay, Google Ads, Google Nest Hub, Google analytics, and numerous others.
An external viewpoint tells the tale of how enterprises across business verticals have opted to build their apps on Flutter and are eagerly awaiting the transition to Flutter 2. The list is as diverse as real estate listing websites, tech titans, fintech companies, and audio system makers.
The underlying premise of robust and consistent cross-platform coding is why Flutter and Flutter 2 carry such a compelling value proposition.
8. Eliminated Duplication and framework limitations
By most standards, Flutter is still a comparatively new platform, and yet its creators have strong evidence of its rapid growth and increasing ability to handle need-gaps. In fact Flutter is an extremely attractive option for start-ups as well as established enterprises.
Enterprises across the globe chose Flutter for two major reasons, the first being- elimination of effort duplication, i.e., creating stand-alone apps for each targeted platform and having to deal with issues like sim-shipping, UI consistency, and multiple second-order issues.
The second problem that Flutter 2 addresses is that enterprises are forced to expend massive financial resources in the creation and maintenance of their suite of brands. However, the business efforts of the digital properties owned by these enterprises are more often than not restricted because of platform/framework limitations. Flutter and now Flutter 2 gives enterprises complete control while proactively diffusing limitation issues, making it a highly desirable tech asset.
9. Flutter DevTools
Google has worked hard on bringing Flutter DevTools to the production quality of Flutter 2. With Flutter 2 even before you launch DevTools, you can locate issues with integrations of Android Studio, Visual Studio Code, and IntelliJ to find common exceptions and display them on DevTools to help you debug them.
A new feature added to the Flutter inspector is the ‘Invert oversized Images.’ With this feature enables, images with larger resolutions than their display size are displayed inverted, making them easy to find in the app being developed.
The Flutter inspector’s Layout Explorer sports added capabilities of showing fixed layouts, enabling easy debugging.
And that’s not all. Here are a few more of the new features in Flutter DevTools 2:
- Augmented FPS info and improvements to the frames charts
- Red error labels for failed network requests
- More ergonomic memory view charts
- Enhanced search and logging tab filtering
- A timing grid on CPU profiler flame charts
Now that we know about all that Flutter 2 brings to the table, it is time to reveal the reason behind its range of capabilities. To the trained eye, it comes as no surprise that Dart is the secret sauce behind Flutter 2’s capabilities.
In summation, taking all perspectives into consideration, Flutter 2 is a strong release that is poised to become the de-facto development platform for Google
With extensive experience in Flutter application development and an attitude of consistent innovation that nutures constant learning and upskilling, Radixweb sports 450+ domain experts well versed in cross-platform app development on the latest platforms inclusive of Flutter 2. So if you too wish to build high performance enterprise applications and drive value through rich engagement experiences with Flutter 2 , then drop us a line and we would be happy to help.