Angular 2 Dart and Flutter were the most important news mentioned at the recent Dart Developer Summit 2016.
After five years in development Dart has seen little adoption across the industry. The TIOBE Index places it as #25 among popular languages while the RedMonk Rankings and IEEE Spectrum Top Programming Languages 2016 don’t even mention it. Nonetheless, Dart has seen major support within Google, two of their most important products, AdSense and AdWords being built with it. They say the main reason for using Dart instead of JavaScript is productivity, teams reporting an increase of development speed between 25% and 100%. AdSense contains about 160K LoC of Dart, and has doubled the overall development speed, according to a recent post providing some details on the new AdSense interface.
The Dart team at Google has recently had a Developer Summit in Munich, Germany. Among the news coming out of the summit, we mention AngularDart 2.0 and Flutter. Google decided earlier this year to have a version of the Angular 2 framework written in Dart to provide developers with a more familiar tool for building web applications, better code quality and better performance. For example, by using Dart’s strong mode they spotted and then fixed over 1,000 warnings in Angular 2 code.
Google has also released in preview mode a library of Angular 2 components written in Dart. They are an implementation of the Material Design widgets and have been used in production by AdSense, AdWords and other products within Google.
Flutter is Google’s tool for writing cross-platform applications for Android and iOS in Dart. With a single codebase developers can target both mobile platforms. Unlike other tools, Flutter does not rely on native rendering but it uses the Skia graphics engine, also used by Android, Chrome and Firefox, to mimic the native interface including fonts and hand gestures. The main benefit of relying on Flutter is performance, according to , Eric Seidel, an engineer working on Flutter.
A key benefit of using Flutter is its extremely fast development cycle, thanks to the Dart VM and Flutter's functional-reactive framework. For both iOS and Android, hardware and emulators, developers using Flutter can experience sub-second dev cycles as they add and debug app UIs. The app's state is maintained during the reloads, which means developers can iterate very quickly without restarting their app for every change. "We measure our dev cycles in milliseconds".
Flutter is in developer preview. A plugin for IntelliJ is available.