Hello fellow Dartisans! Welcome to the thirteenth 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 saw the release of Dart 2.18.3, a patch release with the following fixes and improvements:
- Fixed a regression in code coverage computation (SDK issue #49887)
To learn how to update your Dart version, check out Get the Dart SDK or download the update from the Dart SDK archive.
The Dart team has also published a notification that
package:analysis_server_client may be discontinued. They are looking to hear about current uses of the package and other feedback on the discontinuation. To learn more and leave feedback, see SDK Issue #50262.
- Intent to implement: dart:crypto
- UX improvements for CFE error messages
- Flutter Dependency Injection: ioc_container V1
- Why are global variables bad, but globally accessed Provider (from riverpod) good/ok?
- When to you use Isolates a philosophical question
- What advantages will Dart get if there is no dynamic?
- supabase-flutter v1 Released
- package:qstash_dart was released
A HTTP based messaging and scheduling solution for serverless and edge runtimes.
- package:fut_map was released
Concurrent futures map. Allows setting a concurrency level when mapping an iterable with futures.
- package:universal_feed was released
Universal parser for RSS and Atom feeds with support for some extensions (dc, dcterms, media, itunes, georss, syndication, content).
- package:mint was released
Code generation framework with support for copyWith, copyJar, equality, and JsonSerializable (fromJson, toJson).
- package:interactive was released
REPL (interactive shell) for Dart, supporting 3rd party packages, hot reload, and full grammar.
- package:postgrest v1.0.0 was released
- package:supabase v1.0.0 was released
- package:js v0.6.5 was released
- package:analysis_server_client v2.0.0 was released
- package:graphs v2.2.0 was released
- package:petitparser v5.1.0 was released
- package:sodium v2.0.0 was released
- package twitter_api_v2 4.2.0 was released
Dart SDK updates
30 unique authors have contributed 103 commits to the Dart SDK in the past week.
The following are some handpicked, interesting changes:
- [nnbd_migration] Add "Add 'late' hint" feature
- [io] Avoid serializing unwritten bytes in async I/O
- [CLI] Fix dart run --enable-experiment
- [dart2wasm] Perform some missing runtime type normalizations
- [sdk] DateTime copyWith extension
- [dart2wasm] Implement simd types naively
- [vm] Better implementation of hashCode function
Keep in mind, none of these changes are guaranteed to eventually land in a stable release.
Language updates and discussion
Records and patterns have been seeing extensive implementation work across all parts of the SDK over the past month, and final touches around their language specifications alongside fixes and improvements have been made as well.
There has been discussion this past week around type checking of List/Map patterns. To see or comment on the changes, see pull request #2569.
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 daco!
package:daco is a tool for enabling better maintenance of Dart comments. It provides support for the following:
- Formatting doc comments as Markdown
- Formatting Dart code examples in doc comments
- Analyzing Dart code examples
- An analyzer plugin which extends Dart analyzer support to Dart code in doc comments
This is exciting as documentation is really important to the success of an individual package as well as the whole package ecosystem. No one will use or benefit from your package or code if they don't understand it. If you can write and maintain good documentation comments with examples that are up-to-date and actually work, users will find much more success using your libraries.
package:daco with this functionality could potentially contribute to enabling successful learning of your libraries.
To learn more about
package:daco and how to use it, see its page on the pub.dev site. If you need help, consider opening a new discussion on its GitHub.
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.
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.
- Flutter Silicon Valley Meetup #4 | Mountain View, CA | 2022-10-26
RSVP needed to attend. Flutter Developer Community for all developers based in Bay Area/Silicon Valley, California, and Flutter Enthusiasts from the world over. Being so close to Google and Flutter's home base, our goal is to bring Flutter & Dart Developers together to meet, learn, grow and help each other.
2 Day Flutter Track @ Droidcon London 2022 | London, UK | 2022-10-27
Two full days of Flutter talks along with a huge amount of Android specific knowledge being shared.
Flutter Karlsruhe - Meetup Revival | Karlsruhe, DE | 2022-10-27
Come meet each other and build a network of passionate Flutter developers in the area while having fun!
October Flutter Bucharest Meetup | Bucharest, RO | 2022-10-25
An event covering what Flutter is, how the evolution of the framework looks so far, and a circle-talk to get to know each other and share ideas about Flutter and application development.
Quotes and notes
Share quotes and comments you see and hear about Dart on our quotes discussion board for future inclusion!
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.
Very Good Ventures
- Mid-Level Flutter Engineer (Remote, Spain)
- Mid-Level Flutter Engineer (Remote, US)
- Senior Flutter Engineer (Remote, Poland)
- Senior Flutter Engineer (Remote, Spain)
- Senior Flutter Engineer (Remote, US)