Skip to main content

Posts

New site for Dart news and articles

For the latest Dart news, visit our new blog at  https://medium.com/dartlang .

Flutter IntelliJ plugin v16.0: Testing and app launching!

New testing support We’ve added the ability to run individual Flutter tests via actions in the editor’s gutter: And now support running Flutter’s widget tests; see https://flutter.io/testing/# widget-testing . Project structure We re-worked how we define Flutter project and module types in IntelliJ. This addresses a few outstanding issues and will let us more easily go into more IntelliJ based products in the future. The next time you open an existing project with the new version of the plugin, you’ll see a one-time ‘module type updated’ message: Launching improvements This release sports several improvements to app launching: Launch your app in profile and release modes (available via the ‘Run’ menu) Start Android emulators from the device dropdown; this requires the Android AVDs to have been already created in something like Android Studio Tweaks to when the run and reload buttons are enabled For more detailed info on the version 16.0 release, s...

Announcing DartConf

We’re aflutter to announce the official Dart conference in Los Angeles on January 23-24, 2018. The event will be even bigger and better than last year, with exciting talks about Dart 2.0, Flutter, Dart Dev Compiler, AngularDart, and much more. UPDATE : Please learn more and register here . We’re moving the annual conference from October to January for two reasons: We want our speakers to be available for the other conferences that are happening in the Fall. Each year, September to November is full of events where the team can reach developers unaware of the awesomeness of all things Dart. Likewise, we don’t want you to have to choose between DartConf and other great events. Lots of new things are coming to Dart in the new year. Place: Google Los Angeles Time: January 23-24, 2018 Pre-registration: [CLICK HERE] The event will be live-streamed and sessions will be recorded. Ask questions at dartconf-questions@googlegroups.com.

Flutter IntelliJ plugin version 15.0: Improved project creation and support for flutter test

Flutter test support! We now support running and debugging ‘flutter test’ tests! Right click on your Flutter tests in the test/ directory, and choose the ‘Run’ or ‘Debug’ option: The results are displayed in the standard IntelliJ test runner. The support for this just recently landed in Flutter’s alpha channel, so you don’t see support for it in IntelliJ, you may want to run ‘flutter upgrade’. Happy testing! Improved project creation When creating a new Flutter project, you now have the option of installing the Flutter SDK from the new project wizard. This will help new users get started – they can create their first Flutter project without having to make a detour to the command line. In addition, we’ve improved the error reporting on project creation failures. Reload feedback improvements Based on user feedback, we’ve made some improvements to the UI for hot reload. When clicking the hot reload button (or using the reload key binding), we disable the hot reload ...

A stronger Dart for everyone

We are constantly asking ourselves: How do we make developers even more productive when writing Dart apps? We believe that a critical part of the answer to this question is to make strong mode – a sound static type system for Dart – the standard for all Dart developers. Teams that use Dart to build apps like Soundtrap , AdWords , AdSense , and Greentea say they really enjoy using strong mode features, such as early error detection. In fact, teams that have switched completely to strong mode cite not only early error detection but also better code readability and maintainability as major benefits. We hear this both from small teams and – even more so – from large teams with hundreds of developers writing and maintaining millions of lines of Dart code. As Björn Sperber from Soundtrap says, Strong mode and the smooth integration with IntelliJ is a joy to use and a huge improvement. If you’ve tried out Flutter , you’ve already used strong mode checks from the Dart analyzer. G...

Unboxing Packages: A Requiem for scheduled_test

Long long ago in the dawning days of Dart, when Future s were new and Stream s unknown, Bob saw the need for a package manager to bring the people together. Together he and I spun formless bits into code and wove that code into pub , which even today carries code into the eager hands of Dartisans. In those olden days, we had no modern marvels such as the twins async and await , and our tests grew heavy and graceless under the weight of their chain() s 1 . So it was that I came up with an idea for a new way of writing tests. Instead of gluing the steps together with the cumbersome Future API, each step would register an asynchronous callback in a queue. Once all the steps were queued up, the library would run them in order. All the API boilerplate would be hidden away from the user, and the tests would look nice and clean . After honing this technique on pub’s tests, I brought it out into its own package, which I called scheduled_test . If this whole idea of queuing up tasks and ...

Dart 1.24: Faster edit-refresh cycle on the web & new function type syntax

Dart 1.24 is now available. It includes the Dart Development Compiler and supports a new generic function type syntax. Get it now ! Figure 1: DDC debugging in Chrome. Some notable changes in this release: pub serve now has support for the Dart Development Compiler. Unlike dart2js, this new compiler is modular, which allows pub to do incremental re-builds for pub serve. In practice what that means is you can edit your Dart files, refresh in Chrome (or other supported browsers), and see your edits almost immediately. This is because pub is only recompiling your package, not all packages that you depend on. There is one caveat with the new compiler, which is that your package and your dependencies must all be strong mode  clean. You can also use the new compiler to run your tests in Chrome much more quickly than you can with dart2js. Read more  in the changelog. You can now publish packages that depend on the Flutter SDK to pub. Moreover, pub.dartlang.org  has st...

What to expect at Google I/O 2017

Google I/O is happening in Mountain View this week. Here’s what you shouldn't miss if you're coming, or if you're following I/O from home. Figure 1: One of the Flutter apps that will be live-coded on stage. You will also be able to build it in one of the codelabs. Session: Prototyping to Production : Bridging the Gap with a Common Tool  by Fiona Yeung and David Yang Friday, 8:30am PDT Design and engineering collaboration is difficult but vital for iterative user-centered product development. Join us (a designer and UI developer) as we use the Flutter UI framework to evolve a UI concept from prototype to production code. You'll leave this talk with a deeper understanding of how to bridge the gap between designers and UI developers through a prototyping-centric workflow, and why using a single framework between designers and developers helps your team work more efficiently. Session: Single Codebase, Two Apps  with Flutter and Firebase  by Emily Shack ...