When Google announced in late February that its Flutter app development platform had moved to beta, it added yet another time-saving and feature-packed tool set for developers who are creating apps for mobile users.
Google Flutter is a mobile app SDK that allows developers to write code once that can then be used for iOS and Android apps. Based on the Dart code language, Flutter is designed to make it simpler for developers to create their applications compared to using the respective native platforms for iOS and Android.
First released in 2017 as an alpha project, Google Flutter includes several intriguing features. These include stateful Hot Reload, which allows code changes to be made on the fly and instantly appear within the apps on devices, as well as composible widget sets, rich animation libraries and a layered, extensible architecture. Flutter also includes support for Android Studio and Visual Studio Code, as well as new refactorings to help manage widget code, platform interop to expose the power of mobile platforms to Google Flutter code, and a new widget inspector to help browse the widget tree.
Flutter, which is free and open source, works with platform APIs, third-party SDKs and native code, while also allowing the reuse of existing Java, Swift and ObjC code, according to Google. It also allows access to native features and SDKs on iOS and Android.
"Flutter has the tools and libraries to help you easily bring your ideas to life on iOS and Android," Seth Ladd, Google's Flutter product manager, wrote in a Feb. 27 post on the Google Developers Blog. "If you don't have any mobile development experience, Flutter is an easy and fast way to build beautiful mobile apps. If you are an experienced iOS or Android developer, you can use Flutter for your views and leverage much of your existing Java/ObjC/Swift investment."
Several analysts told ITProToday that Google Flutter shows promise and adds another useful option for busy developers.
"Enterprises, even more than startups, seek to maximize developer resources and as such are interested in the state of cross-platform development," said James Governor, an analyst with RedMonk. "Mobile is no exception. They rarely want to support separate iOS and Android teams."
With Google Flutter, "initial feedback is pretty promising in terms of developer experience with Flutter as a framework for Dart development," Governor said. "And Google is putting a lot of resources into it."
Competitors such as Apache Cordova, Adobe PhoneGap, Appcelerator Titanium and Xamarin have all seen reasonably wide adoption, and it will take some time to see where Flutter might fit in, he added: "A lot of ducks need to align around Flutter, Dart and potentially Google's Fuchsia for Flutter to be an industry-changing proposition, but, for now, it is a promising modern approach to developing cross-platform native apps."
Dan Olds of Gabriel Consulting Group said that tools like Flutter "can be effective at getting cross-pollination of applications between different platforms and getting desired applications onto a new platform."
At the same time, he said, there are already some strong players in this marketplace that already enable developers to easily move between the iOS and Android platforms.
"I'm not sure that Flutter is the be-all, end-all, in cross-platform tooling," said Olds. "The real key is how the developer community embraces, or doesn't embrace, Flutter, and we'll see that over time. My gut tells me that Google is a little late with this move and that it might be an uphill battle to get the kind of traction they want."
On the other hand, he added, "the main differentiator is that Google is pushing Flutter as their favored tool," which could give it a boost.
A second beta of Flutter, announced on April 9, adds easier installation, improved developer tools and asset system, and Dart 2 enabled by default, according to a post on the Flutter blog.