This Week in Dart - Issue 10

Hello fellow Dartisans! Welcome to the tenth 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.18.2, 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

34 unique authors have contributed 140 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

As patterns and records have begun implementation in the SDK, there has been a lot of work around cleanup, remaining questions, and fixes to the related proposals and specifications.

This past week saw version 1.13 of the Records feature specification released. The static constant Record.empty was removed in favor of the () expression which refers to the constant empty record with no fields.

To learn more about records, see the Records feature specification and to contribute to the surrounding discussion check out issues with the Records tag.

To learn more about patterns, see the Patterns feature specification and to contribute to the surrounding discussion check out issues with the Patterns tag.

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

Package of the week

The package of the week is custom_list!

package:custom_lint allows package authors and developers to easily write custom lint rules. Lint rules are a powerful way to improve the maintainability of a project through static analysis.

The package goes beyond the capabilities afforded by the traditional analyzer plugin support, but including a lot of custom functionality and utilities necessary for implementing powerful and configurable lints.

Dart already has many diagnostics provided by its analysis server and many more which can be enabled through linter rules, but these may lack rules that your project needs or for best practices your project or company prefers. This package allows you to implement those according to your needs or for third-party packages which the standard lint rules do not account for.

You can learn more about using package:custom_lint and implementing your first custom rules in its Usage section, its announcement post, or an extensive video tutorial about Creating custom lint rules for Dart and Flutter projects.

Thanks to @Luckey-Elijah for the suggestion!

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!

Not useless. Dart as a general purpose language is just being discovered. Native code, instant startup speeds, light concurrency, type-safe language. It’s already being used for CLI, microservice frameworks. Wouldn’t be surprised to see it used more at edge or in lambdas soon.

—@oravecz on Twitter

Learning other functional and OOP programming language[s] became easier with knowledge of Dart

—@ibrahimshehuib4 on Twitter

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

Embrace

Superlist

Very Good Ventures

Superformula

Invertase

Deloitte

Swiss Aviation Software