As the first apps built with Flutter started to appear in Google Play and the App Store, the mobile development community witnessed a brand new approach to creating high-level user interfaces of cross-platform applications. 2019 can be declared the year of Flutter (well, unofficially) because the talks about it have only been getting intense since its first stable release in December 2018. Besides, the recent end-of-the-year update of the framework gave the community even more innovative features to discuss and discover. If you want to know what Flutter is and how it has matured within a year, keep reading this article.
What Makes Flutter Special
Flutter is a mobile UI framework created by Google for building convenient UIs of natively compiled applications. As entrepreneurs start investing in this toolset more actively, more software development companies begin to search for Flutter developers and adopt this technology.
Initially introduced as a toolkit for running only Android apps, Flutter became a cost-friendly solution for creating apps that cover iOS and Android platforms at the same time. Google developers are currently on their way to making it an all-in-one application framework by focusing on multiplatform development. However, before getting started with the most distinctive features and brand new changes in Flutter, there’s a short history to discover:
- October 2011 – the release of Dart – Flutter’s core programming language;
- April 2015 – the first announcement of Sky – Flutter’s antecedent;
- May 2017 – the release of Flutter’s alpha version;
- September 2018 – the release of Flutter’s beta version;
- December 2018 – the first stable version of Flutter comes out;
- December 2019 – Flutter is declared the first UI platform for ambient computing.
In December 2019, the Flutter Interact event gathered thousands of mobile developers to introduce the fifth release of the framework. The latest improvements provide the community with a full picture of what Flutter is now and what it will be. Currently, mobile developers highlight the following distinctive features of this UI platform:
- Google Support;
- Dart Instead of JavaScript;
- Widget-Based UI Design;
- Multiplatform Development;
- Ambient Computing.
Google Support
Despite the young age of this technology, developers, and entrepreneurs around the world trust it because the fact that Google created it is a guarantee of the high quality. The Google team works along with Flutter contributors who help this technology to evolve. As for the latest version, around 5,500 issues about the framework were solved, and approximately 6,000 pull requests accepted to improve user experience and make the development process faster. The integration of numerous Google services, including in-app payments and YouTube, as well as the improvements to the plugin ecosystem and testing tools were a top priority for the Google team in the new release.
Dart Instead of JavaScript
Software engineering experts often compare Flutter with various cross-platform technologies such as Ionic, React Native, and NativeScript. Although they all have the same purpose as Flutter – developing apps to run on iOS and Android simultaneously, they are based on HTML, CSS, and JavaScript. The Flutter developers use the Dart programming language supported by Google and optimized for client-side programming. The recent update of the framework provided the developer community with syntax improvements and the ability to code for the web.
Widget-Based UI Design
Flutter doesn’t use any native components, so programmers don’t have to find ways to set communication between native UI elements and the main code to make the app work smoothly. Flutter relies on its widget-based library with Material Design support and a built-in graphics engine for building user interfaces. A recently added Hot UI feature lets developers preview and interact with interfaces that they are working on during coding. It’s a time-saving solution because developers don’t need to use any mobile devices or emulators to visualize and test the design.
Multiplatform Development
Google has gone further than iOS and Android app development. The new 1.12 version of Flutter covers a full range of platforms besides iOS and Android, such as Mac, Windows, Linux, Google Fuchsia, and the Web platform. However, to make a web application work in various browsers, Dart code must be compiled to JavaScript. Multiplatform development encourages coders to experiment with UI design across platforms and making consistent visualization that works equally good for mobile, desktop, and web apps.
Ambient Computing
Google declared Flutter the first UI platform for ambient computing, which is one of the most significant changes to this technology in 2019. Ambient computing means portability of the framework that provides developers with the ability to build apps anywhere and whenever they want. A programmer can start coding right from their smartphone, tablet, watch, laptop, computer, or any other device that has Internet access. The software development world has never seen anything like that before. The Google developers named it the new transition from device-centric to app-centric development.
Final Words
Mobile development experts predict that 2020 will be a fruitful year for Flutter. Although React Native is still the king among cross-platform development solutions, the rapid growth of Flutter has all the potential to outpace it, if not in 2020, then presumably in a couple of years. Although Dart is a new language to be mastered by mobile coders, many specialists mention its fast learning curve that makes Dart adoption by companies easier. There are negative predictions about Flutter as well. Specialists see the biggest risk for this UI platform in case Google stop the support of Flutter, as they did with some of their experimental solutions in the past, for instance, Hangouts, Google Translator Toolkit, and others.