Our Google Flutter Review 2021: In some of our previous posts, we’ve looked at how to build an app that looks and works as similar as possible to a native app, focusing on React Native. We’ve also looked at the competition by doing a thorough Google Flutter review for 2020 but, as there have been quite a few updates since then, we feel it’s time for an update.
The truth is that Google Flutter has been quite popular over the past few years and we believe it’s safe to say that you have already interacted with an app developed with it. Therefore, you might be curious as to what it has to offer and, if you have tried it, you may want to know what the latest update entails. In this article, we’ll review the best qualities of this software development kit (SDK) as well as the updates 2021 has brought along. But first, let’s recap.
What is Google Flutter (review)?
The 2017 Google I/O developers conference showed us an early alpha version of Google Flutter, with its Release Preview 2 launched in September 2018. There have been a number of new versions released since then; the latest being version 2.2 released in May 2021. As stated on its website, Google Flutter is “Google’s UI toolkit for building beautiful, natively-compiled applications for mobile, web, and desktop from a single codebase”. The fact that it is a complete SDK means it provides users with everything they need to create cross-platform apps, such as ready-made widgets, a rendering engine, and testing and integration APIs.
Google Flutter works with existing code, is used by developers and organizations around the globe, and is free and open-source. Some of the development companies currently using Flutter include eBay, Alibaba Group and BMW. Consequently, it is also one of the top preferred skills among software engineers. Google has used Flutter to work on Google Ads and smart displays like Google Home Hub.
What benefits does Google Flutter offer?
Here are some qualities that, as programmers, we find not only useful, but necessary.
Most of the time you spend developing a mobile app you find yourself waiting for it to be built and not actually coding. Flutter includes a “hot reload” feature—powered by Dart VM—, which means that your code changes are reflected in your app the moment you save them, preserving the current app state. This is extremely helpful when you are building your UI and it helps you fix bugs faster.
Google Flutter enables you to build your app with a beautiful user interface by providing a catalog of ready-made widgets that you can use and, believe it or not, every object you come across in Google Flutter is an actual widget. Having ready-made widgets solves the most common problems in user interfaces, such as centering an item or just placing it in the right spot. You simply have to choose the widgets that best adapt to the application that you have in mind.
Flutter supports conditional UI and, as an added benefit, its widgets follow Material Design guidelines and Apple’s Cupertino looks to a tee, saving you a considerable amount of time. Some of the widget categories you may find include accessibility, scrolling and animation widgets.
Widget customization and extension
Google Flutter also gives you the option to customize a widget’s default behavior. To accomplish this, all you need to do is a pull request to the class that you are trying to modify and add the property or the behavior that you need. Then, you’ll find yourself with an extended widget and a new way to customize your app.
We’ve covered that Dart is actually fairly easy to learn. The fact that Google keeps extensive and organized documentation makes it even easier and, together with the fact that Flutter is open source, you are bound to find a very productive community that is constantly working on contributions. There is also a Flutter YouTube channel with useful information and tutorials.
Google Flutter provides tools like the Dart analyzer and the DevTools that will help you debug your app. The Dart analyzer will help you find any mistakes that may crop up in your code, while DevTools includes a full source-level debugger. If you use a Flutter-enabled IDE/editor, like Android Studio or IntelliJ, both of these Dart tools will work automatically. You can find all the information you need to take full advantage of Flutter’s debugging here.
Google Flutter can run on pretty much any device that includes a screen. There are Flutter apps for Windows, Linux and macOS, so you’ll be able to take full advantage of this tool no matter which operating system you prefer.
Automated testing toolset
Flutter allows you to run automated unit tests, widget tests and integration tests to ensure your app is running smoothly on all fronts before its release. Flutter offers its own continuous integration (CI) services to help you run tests automatically when making code changes. These services can be used with fastlane, Travis, Cirrus, Codemagic, Appcircle, and Britise. You can find more information and check out their tutorials here.
As if all of the above wasn’t enough, Google includes built-in opportunities that will help you make your app accessible to more users. This works for both additional languages and web accessibility. Flutter makes internationalization easier with widgets that simplify the process of preparing your code to receive localized content. It supports 78 languages but does not stop there, also supporting different currencies, date formats and units of measurement, among other features. When it comes to web accessibility, it supports large fonts, screen readers and sufficient contrast. You can take a look at the accessibility features here and the internalization tools here.
What does 2021 bring? Google Flutter review: Flutter 2.2 and Dart 2.13
Flutter started 2021 with a bang, introducing Flutter 2.0 at the beginning of March and is currently on version 2.2. The latest releases have fixed numerous issues and included a substantial amount of PRs from contributors. Moreover, a new version of Dart has also been released: Dart 2.13. Let’s take a look at some of the main features of the latest versions below:
- Stable support for the web: One of the main highlights of the 2.0 version of Flutter was the stable release of product quality web support. This focuses on code reusability even on the web. Moreover, it includes an improved API for 3D graphics, high performance, and flexible layouts. A CanvasKit renderer has also been added to the existing HTML one. The 2.2 version includes optimization to caching behavior, web renders improvements for both HTML and CanvasKit, and improving accessibility features.
- Sound null safety: This feature is brought on by the new version of Dart. It helps developers discriminate between nullable and non-nullable types, helping detect null errors during the development stage and reducing downtime during production. Moreover, it also helps reduce code size without the need for extra checks. This new feature has been quickly adopted since it was first released back in March and collaborators have developed countless packages that support it.
- Flutter for desktop: Great news! You can now use Flutter to build desktop applications for macOS, Windows and Linux. Although this is not yet fully stable, it brings along plenty of great features including text selection pivot points, an updated scrollbar widget, a built-in context menu, mouse dragging with accuracy, and smoother resizing, to give users a native-like experience.
- Platform adaptive apps: Because Flutter 2.0 offers support for all platforms—albeit, with different levels of stability—, the question of how to develop an app that can easily adapt to all of them arose at the time. That is why Flutter commissioned the Flutter Folio scrapbooking app. This is an example of an app that can run smoothly on all available platforms with a single code base, adapting to any screen or device. You can take a look at this video to get an idea of how it all works as well as this guide on how to build adaptive apps and the session carried out by Kevin Moore on the topic.
- Google mobile ads: Flutter has also released the beta version of the Google Mobile Ads SDK. This means developers are now able to include inline banners and native ads in addition to the existing overlay formats, like interstitial and rewarded video ads.
- Autocomplete and ScaffoldMessenger: There are two great new widgets available with the Flutter 2.0 version. Autocomplete lets you include auto-complete features in your app, a highly-demanded feature nowadays. Meanwhile, ScaffoldMessenger was created in light of several SnackBar-related issues and helps you easily create a SnackBar responding to an AppBar action, among other features.
- FluterDevTools: DevTools has now changed its name to Flutter DevTools, also adding a number of features. These include letting AndroidStudio, Visual Studio Code or IntelliJ help you in the debugging process and check for exceptions as well as having the ability to see if an image has a higher resolution than what is being displayed. You can take a look at some of the other new improvements here. Moreover, the AndroidStudio, Visual Studio Code or IntelliJ extensions have also been improved.
- Type aliases: The 2.13 version of Dart brings us the possibility of creating aliases for both types and functions. This means you can give simpler and shorter names to long and complicated types.
- Automatic scrolling: Neither Android or iOS show a scrollbar by default, while scrollbars are very common features on desktop apps. Flutter has added a scrollbar parent widget that includes an automatic scrollbar when necessary. You can also change the theme and behavior of your scrollbar.
- New preview features: Flutter 2.2 also comes with some preview features such as iOS shader compilation improvements, Android deferred components, Flutter Windows UWP alpha, and ARM64 Linux host support.
Other great additions that come with the 2.2 version of Flutter are smoother page transitions for iOS, adding more material icons and improved text handling. Moreover, there have also been interesting updates to FlutterFire, DevTools and the IDE plugins.
As you can see, Flutter has no shortage of great improvements and new features and has great plans to add new packages in the near future. You can take a look at extra additions and details in this article, as well as on Flutter 2.2’s release notes.
Google Flutter review 2021 summary
As our Google Flutter Review 2021 shows, Flutter is a very powerful SDK that has gained traction with some industry giants. It has the tools and libraries to easily help you build your app—whether mobile, web or desktop—and bring your ideas to life. Furthermore, both Google and the community are constantly working on new features to make it into the most comprehensive SDK possible. If you don’t have any mobile development experience, or if you are just trying to build an app that works well on Android, iOS and the web in the fastest way possible, Google Flutter can easily meet your needs.
Also, if you are looking for alternative cross-platform frameworks, you can check out our article on this topic here.