This Week in Dart - Issue 9

Hello fellow Dartisans! Welcome to the ninth 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 previously deprecated dartanalyzer tool is set to be removed from the Dart SDK in Dart 2.19. You should migrate your usage and tooling to instead use the dart analyze command that is part of the unified dart tool.

DartPad, the online code playground for Dart and Flutter, now has built-in support for creating and sharing GitHub gists from within the editor.

Community updates

Discussions

Learning materials

Project releases

Project updates

Dart SDK updates

29 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

While large changes have been minimal over this past week, there are constant changes and improvements to the language being discussed and implemented.

One commonly requested one is the introduction of expanded capability modifiers for classes and mixins. These keywords can limit some functionality of these types, such as subclassing, implementing, or unlimited declarations. Allowing the creator to limit these capabilities can not only enable for easier API expansion over time but is necessary for some features such as pattern matching.

To read more about these potential capability modifiers, reference the working proposal of Type Modifiers.

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 sass!

package:sass is the primary implementation of Sass, an expansive, CSS extension language. As the primary implementation, it receives new features before any other implementation. It's fast, easy to install, and it can compile to pure JavaScript to easily integrate into modern web development workflows.

Sass has been an important part of the web development landscape for many years, improving the productivity of all types of developers. The primary implementation being in Dart for the past few years showcases the strength of Dart beyond UI programming, instead as a general-purpose language.

To incorporate Sass into your Dart web application workflow, consider the third-party sass_builder package, which transpiles Sass files using Dart's build system.

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!

I've only known Dart and Flutter for a few days (learned Dart 3 days ago), but it's so easy it took me almost no time to create basic apps! Dart is a hidden gem in the Android dev community!

—NetsuDagneel on /r/dartlang

once you go dart, it will steal your heart

—milogaosiudai 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