Review 2019

Our Google Flutter Review: In some of our previous posts, we looked at how to build an app that looks and works as similar as possible to a native app. Our team has worked extensively with React Native and achieved amazing results, so, today, we want to take a look at the competition.

Google Flutter has been buzzing around our ears over the past two years and we believe it’s safe to say that, whether you know it or not, you have interacted with an app developed with it. Therefore, if you haven’t tried it for yourself yet, you might be curious as what it has to offer and, if you have tried it, there are still some surprises along the way. In this article, we’ll share the best qualities of this software development kit (SDK) as well as the updates 2019 has brought along.

Google Flutter Review

So, what is Google Flutter?

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 and a new 1.5 version released at the same conference last May. As stated on its website, Google Flutter is “Google’s portable UI toolkit for building beautiful, natively-compiled applications for mobile, web, and desktop from a single codebase”, which allows you to craft “high-quality … interfaces on iOS and Android in record time”. 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 Groupon, eBay, Alibaba Group and Capital One. Consequently, it is also one of the fastest growing 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 found not only useful but necessary.

Fast development

Most of the time you spend developing a mobile app, you find yourself waiting for your app to be built and not actually coding. Flutter has what it calls “hot reloads”—powered by Dart VM—, which basically 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.

Beautiful UIs

Google Flutter helps you 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 the user interface, such as centering an item or just placing it on the right spot. You simply have to choose the widgets that adapt most to the application that you have in mind.

The recently released Flutter 1.5 version has also added support for conditional UI. And, as an added benefit, Flutter’s widgets follow Material Design guidelines and Apple’s Cupertino looks to a tee, saving you a considerable amount of time.

Widget customization and extension

Google Flutter also gives you the option to customize the default behavior of a widget. In order to accomplish this, all you need to do is a pull request to the class that you are trying to modify and just 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.

Language

Google Flutter has its very own development language called Dart. Dart is ahead-of-time (AOT) compiled, which means that the code you build is compiled and transformed into a native (system-dependent) machine code so that the resulting binary file can execute natively. Moreover, Dart is also JIT (just-in-time) compiled for exceptionally fast development cycles and changing workflows. And if you wanted even better news, learning Dart is very easy. If you already know languages like Java, JavaScript, Kotlin, C# or Swift, you can start programming in Dart almost right away. So what are you waiting for to try it out? If you want to know more about why Google Flutter has chosen Dart as its language, you can take a look at Flutter’s FAQs.

Google Flutter Dart Framework Architecture

Open source

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 in contributions. Most recently, the Flutter community has made some contributions to desktop support and state management.

Debugging

Google Flutter provides tools like Dart Analyzer and Dart Observatory that will help you find errors through certain commands. Dart Analyzer will help you find any mistakes that may crop up in your code, while Dart Observatory will be your best friend when it comes to debugging. 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.

Portable

Google Flutter can run in 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

Google Flutter allows you to run automated unit tests, widget tests and integration tests to ensure your app is running smoothly in 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, GitLab, and Britise. You can find more information and check out their tutorials here.

Accessibility

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 two dozen languages but does not stop there, also supporting different currencies, date formats and units of measurement, among other things. When it comes to web accessibility, it supports large fonts, screen readers and sufficient contrast.

And if you still want more, Flutter also offers a large number of open-source packages, has support for various IDEs (Integrated Development Environments), has different themes for iOS and Android, and makes animations seem like child play with the 2Dimensions Flare.

2019 update highlights

We all know that in today’s world, no tech tool can go long without an update, so Google recently released a new version of Google Flutter with lots of new features and enhancements. Let’s take a look at our highlights in this Google Flutter Review 2019:

  • Apps for every device

Initially, Google Flutter allowed you to create mobile apps, which meant it was somewhat limited. The 2019 release has added the long-awaited possibility to develop desktop (for Windows and Mac) and web apps, as well as availability in Chromebooks and embedded form factors.

According to Flutter’s website “Flutter for web is a code-compatible implementation of Flutter that is rendered using standards-based web technologies: HTML, CSS and JavaScript. With Flutter for web, you can compile existing Flutter code written in Dart into a client experience that can be embedded in the browser and deployed to any web server. You can use all the features of Flutter, and you don’t need a browser plug-in.” It is currently available as a technical preview.

  • Integration support

Google has also added support for integrating Flutter into existing iOS and Android apps which makes it easier to change into Flutter once you already have an app up and running.

  • Updated tooling extensions

Visual Studio Code and Android Studio add-ins have been updated. If you haven’t already been using them, Visual Studio Code is a code editor developed by Microsoft that works not only in Windows but also in Linux and macOS. It does not only allow you to edit code, but it also includes an interactive debugger. Visual Studio Code is customizable and allows you to install a long list of third-party extensions. Regarding Android Studio, it is the official Android IDE, based in IntelliJ IDEA. It includes a number of testing tools and frameworks, as wells as built-in support for Google Cloud Platform.

  • Faster compiling

Google Flutter has actually achieved a 15% compiling performance increase in many cases.

  • New packages for the supporting ecosystem

Google Flutter also has its supporting ecosystem in mind and has developed new packages for Google Maps, Firebase ML Vision, in-app purchases and web views. The in-app purchases plugin is one of the most sought-after additions to Flutter and is available for both Android and iOS.

Google Flutter Review Summary

Our conclusion for this Google Flutter Review 2019 is that 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.