This Week in Dart - Issue 7

Hello fellow Dartisans! Welcome to the seventh issue of This Week in Dart! This Week in Dart's aim is to be a useful collection of changes and news from across the Dart ecosystem and its surrounding community.

To contribute to this and future issues, feel free to contribute on GitHub or suggest content for next week on GitHub discussions.

To discuss this week's issue, feel free to join us on the Unofficial Dart Community Discord in the #this-week-in-dart channel.

Announcements

The next stable release of Dart, likely 2.18, will see the removal of the deprecated dart2js and dartdevc commands.

To compile web applications for production, instead use dart compile js, and to develop web apps use tools like webdev.

A future release of Dart, possibly 2.19, will see complete support for mixin of classes that don't extend Object removed. See the breaking change request for more information on the change and migration help.

Community updates

Discussions

Learning materials

Project releases

Project updates

Dart SDK updates

35 unique authors have contributed 141 commits to the Dart SDK in the past week.

The following are some handpicked, interesting changes:

Keep in mind, none of these changes are guaranteed to eventually land in a stable release.

Language updates and discussion

Changes and improvements to the language specification are continuously being discussed and implemented.

Recently, static programming through macros has been the focus of many discussions. An in-progress proposal raising reflected imports as a solution to some usability problems with macros was added this week.

To learn more and perhaps comment on reflected imports, see the Reflected Imports Feature Specification.

To learn more about and contribute to discussion of this and other potential changes to the Dart language, visit the Dart language repository.

Package of the week

The package of the week is freezed!

package:freezed is a package for Dart that provides code generation for immutable classes and has a simple syntax/API without compromising on the features.

freezed provides many features focused around generating classes representing models, including support for data classes, unions, pattern matching, handled serialization, and more.

You can learn more about freezed, how to set it up, and how to use it on its pub page.

Dart's package ecosystem is growing fast, and we want to help foster that growth. If you know of any great open source projects, let us know by suggesting a package on GitHub discussions.

Upcoming events

Check the Flutter Meetup Network and the Dart Language tag on Meetup to find an event near you or online and connect with other Dart developers!

Let us know about other future events on the events discussion board.

Quotes and notes

Share quotes and comments you see and hear about Dart on our quotes discussion board for future inclusion!

All I need is @dart_lang

—Stephan E.G. Veenstra on Twitter

All in all, Dart is boring, and that’s its greatest feature.

—Adrian Kosmaczewski in Dart is Boring

Dart jobs

The following are some jobs that will provide you the opportunity to use or even build Dart.

If you know of any jobs which use or are related to Dart, let us know in the Job postings for Dart discussion board.

Google

Workiva

Tonal

IBM

Very Good Ventures

Superformula