This Week in Dart - Issue 6
Hello fellow Dartisans! Welcome to the sixth 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 SCREAMING_CAPS
constants in dart:io
.
To prepare for this change, verify you aren't using the deprecated constants and use the corresponding lowerCamelCase
constants instead.
Community updates
Discussions
- State of web UI frameworks for Dart
- Realm Flutter SDK is now in beta
- Remove the configurable line_length feature
- I've been coding in dart for around 3 months. Here are my thoughts.
- invalid_return_type_for_catch_error does not detect implicit null returns
- Flutter/Dart @ Google (Twitter Group)
- Amazing Reasons that Explain Why Flutter uses Dart!
Learning materials
- Sorting with generics in Dart
- Enum annotations
- Fizzbuzz in Dart
- Dart core libraries
- Abstract Classes in Dart
- Objektorientierte Programmierung (OOP) am Beispiel von Dart
Project releases
- package:daco was released
A tool for maintaining Dart comments. Supports formatting of comments, including embedded Dart code. - package:supercluster was released
A package for fast marker clustering. - package:suntime was released
Simple sunrise and sunset time calculation for a given location. - package:needle_orm was released
ORM for dart, inspired by Ebean.io (an ORM from Java/Kotlin world).
Project updates
- package:drift v1.7.0 was released
- package:solana v0.25.0 was released
- package:rad v0.9.0 was released
- package:melos v2.4.0 was released
- package:shelf_hotreload v1.2.0 was released
- package:enough_convert v1.5.0 was released
- package:graphql_codegen v0.9.0 was released
- package:binary v3.0.0 (with null safety) was released
- package:wot v0.19.0 was released
Dart SDK updates
38 unique authors have contributed 123 commits to the Dart SDK in the past week.
The following are some handpicked, interesting changes:
dart fix
for single files- [js] Support js_util on dart2wasm
- [dart2js] Late instance field optimizations
- [dart2wasm] Implement backward jumps in switch statements
- Remove SCREAMING dart:io networking APIs
- [vm, gc] Evaluate old-gen GC on each new-gen page
- Refactor
_Future
- [vm] Always complete Future synchronously when returning non-Future value from async functions
- [vm] More efficient 'await' of not Future and completed _Future
- Enable lints to have context messages
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, clarifications around how to check for override errors have been proposed to the official specification in Specify private override errors.
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 jaspr!
jaspr is a web framework for Dart that supports single-page applications and server-side rendering.
Some of jaspr's core features are:
- Familiar component model similar to Flutter widgets
- Easy Server Side Rendering
- Automatic hydration of component data on the client
- Fast incremental DOM updates
You can learn more about jaspr on its wiki and try it out on JasprPad.
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!
Virtual
- 5th FlameCon | 2022-06-14
The fifth edition of the Flutter Game Engine virtual conference.
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!
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.
- The Dart and Flutter teams have job openings across a wide variety of roles. See Flutter and Dart team job openings for more information.