This Week in Dart - Issue 8

Hello fellow Dartisans! Welcome to the eighth 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

This week saw the release of Dart 2.17.5, a patch release with the following fixes and improvements:

To learn how to update your Dart version, check out Get the Dart SDK or download the update from the Dart SDK archive.

Community updates

Discussions

Learning materials

Project releases

Project updates

Dart SDK updates

30 unique authors have contributed 106 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, patterns and pattern matching have been explored as a solution to some of the most commonly requests features and functionality.

To learn more and perhaps comment on patterns, refer to the Patterns Feature Specification and Goals and Constraints documents.

One piece of the puzzle of patterns is the introduction of records, a way to represent a series of positional fields and a collection of named fields. This past week saw version 1.4 of the Records Feature Specification released.

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!

If you came from a Kotlin background, there's not much you need to learn to be all caught up with Dart. Like, there are so very few differences that you can learn them while doing some actual work.

—sauloandrioli on /r/dartlang

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

IBM

ByteDance

Very Good Ventures

Superformula