January 18, 2022 5 Reasons Why Flutter Matters More Than Ever In the years since its release, Flutter has grown in popularity among developers and helped businesses of all sizes bring public-facing apps to life Zlati Pehlivanov Senior Software Engineer II Flutter was still new when I wrote a blog post highlighting it two years ago. Google’s new open-source software development kit (SDK) for mobile development wasn’t perfect, but it was fast, flexible, and full of potential. Even so, more than a few developers were skeptical about yet more new technology from Google, which has terminated promising-but-underperforming projects before. Potential alone isn’t enough — businesses expect results and commitment. Two years later, I’m happy to report that Flutter and Google have demonstrated both. Here’s why. Flutter’s Key Strengths Have Not Diminished Since the first release, Google set ambitious targets for their cross-platform SDK. Among those were native look and feel across the platforms, quick development cycle, single codebase, and excellent performance across the board on low and high-end devices. These properties of Flutter did not go unnoticed. Major companies choose Flutter for their public-facing apps. Ubuntu chose Flutter to replace their installer, created a complete UI kit to make Flutter indistinguishable from other “native” desktop Linux apps, and committed to helping deliver better support for desktop systems overall, including better support for keyboard events. And there’s more: Toyota chose Flutter for their new info system, Samsung added support for Tizen, and Microsoft released a Flutter plug-in for their new foldable device. eBay developed their eBay Motors app in Flutter and contributed to the automated testing tools by creating an entirely new way of testing Flutter-created user interfaces. Alibaba Group also chose Flutter for many of its apps. The main reasons those companies are betting on Flutter are: Efficient and user-friendly development and delivery Excellent cross-client and cross-platform capabilities Highly expressive UIs; here’s an example: Google Has Doubled-Down on Their Commitment to Flutter In Q1 2021, the Flutter team asked users to share their concerns about adopting the platform. Chief among them were doubts about Google’s commitment to the Flutter SDK, with many giving examples of the “Google graveyard of abandoned projects.” Google published information about the internal projects they developed using Flutter to dispel these doubts. On this list were Google Pay, Google Ads, Nest Hub, and Stadia — and the quality of Google’s packages is growing every day. Furthermore, the number of deprecated APIs is far fewer than in the early days, but the Flutter team is introducing automatic migration scripts, even if some are in the future. Also in the pipeline are more Cupertino widgets, more stable desktop platform support, and full support of Material 3 (Material You). Q1 2021 Flutter user survey from Medium.com/flutter. Flutter is More Popular than Ever Among Developers According to the graph below from the Q3 2021 Survey, usage among developers is trending in the right direction. That upward swing makes finding and hiring such developers — plus additional help from other developers in Stackoverflow and other social channels — much easier. Q3 2021 Flutter user survey from Medium.com/flutter. As with any new language, Dart had a rough start initially, but user satisfaction is steadily rising, especially post Sound null-safety release. People are cautious about programming language changes due to the potential immaturity of the code. In some cases, this might be true, but Dart was created in 2013 and is neither young nor immature. Changes implemented after the null-safety release aren’t “fixing” an unstable platform; they’re improving the ergonomics, efficiency, and performance of the Flutter apps. Adoption also tells a tale. Even before v1.0, the Google Play Store featured over 3,000 applications. By version 2, the number had climbed to over 100,000. Search trends mimic this trend, with steady growth for Flutter and a decline of React Native. Flutter also surpasses React Native in terms of Web search trends around Q3 2020. Flutter Web Is Getting Better Google built Flutter Web to support web applications and rich content, and its launch was not without controversy and concern. The short version: many community members felt that Flutter was built to build interactive applications, not content-heavy websites. Since then, Flutter has worked hard to support the Web as a deployable platform, adding various improvements, missing widgets, and behaviors. In the beginning, we were missing scroll bars, and scrolling on desktop devices was only achievable via mouse drag. Fortunately, the Flutter team fixed these awkward behaviors, and now Flutter Web handles scrolling like the “native” web. Flutter Web has two engines: CanvasKit and HTML renderer. Each of them has its benefits. HTML renderer uses a combination of HTML elements, CSS, Canvas elements, and SVG elements. This renderer has a smaller download size. CanvasKit is fully consistent with Flutter mobile and desktop and has faster performance with higher widget density but adds about 2MB in download size. Flutter Web development directly benefits from much of the work put into the desktop platform. Both rely on large-screen support and mouse-and-keyboard interactions to drive user experience and share much of the same technology and architecture despite notable differences. To be fair, there’s still much room for improvement. Essential features like search engine optimization (SEO) and server-side rendering (SSR) are still in development. That said, I’m seeing every indication that Flutter will come to support them soon enough. Given these upgrades, Flutter Web is a handy tool for delivering rich interactions across multiple platforms. For a solid example of what’s possible with Flutter Web, check out Rive.app, a tool for creating vector-based animations. Flutter Has a Proven History of Steady Improvement Slow and steady wins the race every time. In the past 24 months, the Google team and Flutter community have accomplished the following: Provided over 20,000 bug fixes and performance enhancements to their platform Released Flutter Desktop in a semi-stable mode, Flutter Web in Stable mode, and some ergonomics in the Dart language Stabilized essential plug-ins and packages like the camera, web-view, firebase, Google ads, in-app purchases, and more Added numerous widgets to the included-widget collection Facilitated automated builds and deployments to the App Store and Play Store by publishing tools for CI/CD like GitHub Actions and Docker images Improved dev tools for debugging and identification of performance problems Unlike the early days, Flutter now has a predictable Stable release schedule: one every quarter, with a strong possibility of getting immediate hotfixes on critical issues Improved the IDE plugins for VS Code and Android Studio Alive and Kicking Flutter improves with every release, and every developer can contribute to its improvement by reporting issues, suggesting features, or even creating pull requests (PRs) that fix or add features. An active GitHub community goes a long way to determine the long-term health of any project. In 2019, there were 10,000 packages on pub.dev, the package repository for Dart and Flutter. Now, there are over 26,000. On a personal level, I’m pleased with the development of the Flutter SDK, and — most importantly — I always look forward to working with it. Just for fun, here are two experiments I built with this platform that has yet to disappoint. A UI for a future music player app https://mentormate.com/wp-content/uploads/2022/01/Future-Music-Player-App-UI.mp4 A flexible onboarding widget that I’m not sure would even be possible without Flutter. As for what’s next for Flutter, I’m expecting v3.0 in the first quarter of 2022, which promises to deliver more fixes and full support for Material v3 (Material You) and more iOS widgets. If you have yet to visit flutter.dev, the site has a new look, and it remains a strong starting point for anyone looking to learn more about the capabilities of this promising — and delivering — platform. Sources https://medium.com/flutter/tagged/announcements https://medium.com/flutter/whats-new-in-flutter-2-5-6f080c3f3dc https://medium.com/flutter/flutter-performance-updates-in-2019-4c170934f914 https://medium.com/flutter/tagged/surveys https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/ https://trends.google.com/trends/explore?cat=31&date=2018-12-01%202021-12-15&q=React%20Native,Flutter,NativeScript,Xamarin,Ionic https://getstream.io/blog/flutter-desktop-vs-electron/ Tags MobileDevelopment Share Share on Facebook Share on LinkedIn Share on Twitter Share Share on Facebook Share on LinkedIn Share on Twitter Sign up for our monthly newsletter. Sign up for our monthly newsletter.