#1. Flutter’s excellent features

So, why should you learn Flutter?

Personally, I was never a big fan of mobile app development. All that changed when I heard about Flutter and started to work with it.

First of all, its simplicity is a major plus. If you’ve done native mobile app development with Java or Objective-C, you’ll know it’s not easy to develop native applications with either. This is the primary reason alternative languages such as Kotlin and Swift were created, being easier to develop with.

However, Flutter goes a step further and reduces the complexity of building native mobile apps even more.

Flutter enhances developer productivity by allowing quick compilation of code. Changes to the code can be seen in real time with a fast compilation mechanism called Hot Reload. Significant app changes still require the app to reload, but user interface design changes can be seen as they change in real time.

Due to this, Flutter is an ideal framework for starting a new project. If you are thinking of building a minimal viable product (MVP), Flutter is a great choice. It’s very cost-effective to develop a mobile app with Flutter because you don’t need to create and maintain two mobile app code bases, one for Android and another for iOS.

Furthermore, Flutter is extremely fast and high-performing. You won’t notice any difference performance-wise from a native app written in Java or Objective-C.

Another great feature about Flutter is that it comes with great, well-documented widgets out of the box.

Also, Flutter comes with great tooling support so you are able to use either Android Studio or Visual Studio Code.

#2. Taking Flutter cross-platform

Flutter started as a mobile development framework, and it has become what Google calls a canvas for creative exploration. This is possible thanks to the Dart programming language, which has been optimized for building user interfaces.

Beyond Android and iOS, Flutter provides support for web development through a code-compatible version that can render HTML, CSS, and JavaScript. This means that existing Flutter code can be compiled to run embedded in the browser without the need to use a browser plugin.

Flutter also offers desktop support. As of the time of writing, Flutter code can be compiled to a native macOS desktop app. Windows and Linux code compilation are in technical preview, but as Flutter evolves, support for these platforms will eventually become mainstream.

#3. The Flutter community

One of the great things about Flutter, beyond its cross-platform support, is its growing community—developers passionate about the platform who contribute tutorials, learning videos, demonstrations, user interface components, images, maps, charts, storage, templates, and so on.

Every day before I start my working day, I head to GitHub and check the trending repositories for the day. There’s not a single day I’m not impressed with the tools that developers come up with, and Flutter and Dart are no exception. Checking trending GitHub repositories for me is a great way to keep up with what is going on with technology and software development.

The Flutter (Dart) repository on GitHub contains a wealth of resources that can be used by both Flutter enthusiasts and experienced developers to enhance their applications.

Image placeholder

Image placeholder

Flutter Desktop Application

It’s no secret that our mission for Flutter is to target a broad variety of devices— including iOS, Android, Windows, Linux, macOS, and web — from a single codebase, with native compilation and game-quality visuals. Within Google Flutter is used by projects from Assistant to Stadia, from Cloud Search to Blogger. And outside of Google, Flutter has been adopted by companies from ByteDance to Grab, from Nubank to MGM Resorts, all of whom benefit from the productivity and flexibility of Flutter.

Read More

Image placeholder

Going deeper with Flutter’s web support

Our vision for Flutter is to provide a portable toolkit for building beautiful experiences wherever you might want to paint pixels on the screen. As we’ve noted previously, we are deliberately app-centric with our framework and API choices, building a layered architecture that can scale across mobile, desktop, and embedded devices without compromising performance or quality.

Read More