Flutter has reached the technology maturity state which speeds up the interest and adoption of this cross-platform app development framework. What are the key factors of its success and still existing concerns against it?
Flutter is now the most popular framework for cross-platform development.Flutter 2.2 Announcement
Google I/O announced that over 200K apps built with Flutter are on Play Market already.
Flutter is listed as the #3 fastest growing open source projects and Dart the #1 fastest growing language worldwide, according to the Github’s 2019 Octoverse report. More details are in this post, for instance.
At the mid of 2021, Flutter has got 124K+ GitHub stars taking #15 through all the repositories.
Reviewing known Flutter Showcase and ItsAllWidgets open library of Flutter apps, building rich content centric consumer apps especially with custom beautiful design is a trend – thanks to the Flutter toolkit’s encouragement to engage users with smooth UI, nicely looking transitions being at the same time relevant to platforms, showing native look & feel.
Also based on our company’s expertise, Flutter choice is beneficial for any business domain, either for B2B or B2E use cases as well.
Why business may be interested?
- Flutter is not just a cross-platform technology. It’s the only framework to build reusable adaptive UI. Single app, single team, single backlog for many target platforms mean great cost savings for the business during development and further live support – especially when many platforms need to be covered
- Flutter makes teams happier due to the convenient development experience, smooth learning curve and higher implementation velocity. In many cases Flutter has been proposed by technology stakeholders initially, proactively pushing the framework adoption and showing great agile squad performance
- Flutter is friendly for creative visuals and custom UI design, at the same time allowing to conform to Material Design and other platforms’ UIX conventions
What are the concerns?
According to the Flutter 2021 Q1 survey, top concerns are Google’s commitment to Flutter, framework maturity at scale, packages availability and quality, number of open issues on GitHub, Dart language:
✑ Google’s commitment to Flutter, as sometimes the giant abandons own projects with initial investments
✔ Flutter seems to be surpassing such critical point: it’s in use by Google Ads, Google Pay, Fuchsia OS and Google Nest Hub. Moreover, Google strategically aims to make Flutter a convenient option for any device with a display, addressing this challenge with Adaptive Apps approach.
✔ Big vendor names in contributors & adopters list: Canonical Ubuntu, Microsoft, Sony, Samsung, Toyota, BMW, Adobe
✑ Maturity at scale
✔ Flutter team has been addressing this concern recently – not just focusing on the web and desktop platforms progression (which are rapidly evolving – expecting to see desktop releases this year) but also keeping attention on existing mobile issues like enhancing iOS Metal shaders pre-compilation, and web for sure – like fixing ServiceWorker caching.
✑ Packages availability and quality
✔ With popularity growth, more community packages will appear covering not just basic demand as of today. Community already looks very active:
Just a few months after launch, 93% of the top-500 most popular packages on pub.dev already support null safety.Dart 2.13 announcement
✔ Moreover, Google partnered with other vendors to increase quality of Flutter plugins and FlutterFire (Firebase integration) packages. Separate Flutter Favorite Program designates and recognizes the top quality community packages. There’s a set of 1st class packages supported by the Flutter team.
✑ Number of open issues on GitHub
✔ After quick review of the issues, the cause is visible: Flutter supports iOS, Android including TV, Web, Windows, Linux, macOS – wide range of platforms means more issues arise and appear on the tracker.
✔ GitHub Insights also shows the trend: by July 2021, ~500 pull requests were merged, 1000+ issues closed while 530+ opened, direct contribution lists 80 commit authors.
✑ Dart language needs learning
✔ Flutter & Dart code labs and tutorials allow to adopt basic Dart in few days as it looks very familiar to developers on other modern tech stacks. Use of Dart Pad also greatly helps as it allows to render a complete Flutter app.
✔ Dart also gets more popular, with Flutter toolkit on frontend and on the server side as well. With recent Dart language updates including null safety, it steps along popular languages in capabilities perception. Recent survey also shows the community satisfaction:
So, most of concerns against Flutter may be addressed by a positive trend – some issues still present but the speed of the framework evolution and growing interest from business through all the world are visible today.
Developer:Trial and share own experience & attitude
QA engineer:Trial and share own experience & attitude
PM/DM:Review the applicability for your business case