The Dart Blog
Dart is an approachable, portable, and productive language for high-quality apps on any platform.
Announcing Genkit Dart: Build full-stack AI apps with Dart and Flutter
Announcing the preview launch of Genkit Dart, an open-source AI framework for building full-stack, AI-powered apps for any platform.
Dart in Google Summer of Code 2026
We’re excited to announce that the Dart project will mentor contributors for the seventh time in Google Summer of Code 2026!
Announcing Dart 3.11
Hello, Dart developers! The latest stable version, Dart 3.11, is officially here!
Announcing Dart 3.10
Today, we’re excited to announce the release of Dart 3.10!
Google Summer of Code 2025 Results
The Google Summer of Code (GSoC) program focuses on engaging new developers worldwide with open source software development. Google…
Announcing Dart 3.9
Hello, Dart developers! The latest stable version, Dart 3.9, is officially here!
Announcing Dart 3.8
This release brings formatter updates, null-aware elements for collections, new cross-platform development capabilities, a better way to…
Gemini for DartPad
Say hello to Gemini in DartPad!
Dart in Google Summer of Code 2025
We’re excited to announce that the Dart project will mentor contributors (for the sixth time!) in Google Summer of Code 2025.
Announcing Dart 3.7
It’s a new year, and time for a new Dart stable release. Welcome to Dart 3.7!
An update on Dart macros & data serialization
We have invested significant time and resources to prototype macros over the past couple years. Unfortunately, each time we solved a major…
Announcing Dart 3.6
Welcome to Dart 3.6! Today is our last release of the year, alongside Flutter 3.27. We’re excited to share a new feature in the language…
Google Summer of Code 2024 Results
Results from Dart contributors in Google Summer of Code 2024.
Announcing Dart 3.5, and an update on the Dart roadmap
It’s time for another of our quarterly Dart SDK releases. We have improvements in interoperability, new features in our pub.dev package…
Announcing Dart 3.4
Dart 3.4 is out today! This release showcases the joint efforts of Dart and Flutter together in the Flutter 3.22 / Dart 3.4 / IO24 post, so…
History of JS interop in Dart
Support for Wasm just landed in the current Flutter beta, thanks to an exciting JavaScript interop milestone reached in Dart 3.3. To…
Dart in Google Summer of Code 2024
The Google Summer of Code (GSoC) program focuses on bringing student developers from around the world into open source software…
New in Dart 3.3: Extension Types, JavaScript Interop, and More
Dart 3.3 has landed, and it’s a game-changer for performance and cross-platform development! Get ready to supercharge your apps with…
Announcing Dart 3.2
Improved language & developer experience, and an update on web apps & Wasm
Dart 3.1 & a retrospective on functional style programming in Dart 3
Pattern matching and exhaustive switches come together to enable functional style data models that blend seamlessly with Dart’s…
Dart DevTools: Analyzing application performance with the CPU Profiler
Whether you’re a backend developer writing a command line tool using Dart, or a UX engineer building applications with Flutter, program performance is critical to the success of your project. Command line tools should minimize latency and apps should be responsive and snappy with no dropped frames. As developers, we try our best to write performant code but sometimes it’s not clear why our code isn’t performing as well as we would expect.
Announcing Dart 3
100% sound null safety. Records, patterns, and class modifiers. And a peek into the future.
Introducing Realm for Dart & Flutter
A case study in using Dart platform primitives to build a rich multi-platform library for Dart and Flutter apps.
Introducing Dart 3 alpha
Preview the most productive, portable, and approachable version of Dart yet. Now available for early testing and experimentation.
Better isolate management with Isolate.run()
Dart 2.19 introduces a new function that makes implementing concurrency as simple as a single line of code.
Screenshots and automated publishing for pub.dev
We have a couple of new features available on pub.dev starting today: You can now declare screenshots for a package, enabling a more visual…
The road to Dart 3: A fully sound, null safe language
Preparing for the next major release, where Dart only supports sound null safety
Google Summer of Code 2022 Results
The Google Summer of Code (GSoC) program focuses on engaging new developers worldwide with open source software development. Google…
Partnering with GitHub on supply chain security for Dart packages
Starting today, GitHub supports Dart in its Advisory Database, dependency graph, and Dependabot. This means GitHub now offers comprehensive…
Dart 2.18: Objective-C & Swift interop
Enhanced interoperability, platform-specific networking, improved type inference, and an important update on our null safety language…
Quick assists for editing
Using localized refactorings to be more productive
Dart 2.17: Productivity and integration
Language features. Productivity tools. Deeper & broader platform integration.
Bulk application of fixes
Fixing multiple analysis issues in one step
Contributors for Google Summer of Code 2022
Google Summer of Code (GSoC) is a global program focused on bringing student developers into open source software development. Students are…
Gradual null safety migration for large Dart projects
Dart null-safety migration is a 1-2 hour effort for a simple, small package but can be a months-long marathon for a large project. Ideally…
Hosting a private Dart package repository
Improvements in Dart 2.15 for secure enterprise package hosting
Quick fixes for analysis issues
Resolving diagnostics with a single click
Dart 2.16: Improved tooling and platform handling
Supporting Flutter for Windows with package platform tagging and a new search experience for pub.dev
Announcing Dart 2.15
Fast concurrency, constructor tear-offs, improved enums, and more
Announcing package support for DartPad
Create robust code snippets with popular packages in DartPad
Dart diagnostic messages
Understanding error and warning messages from the Dart analyzer
Google Summer of Code 2021 results
The Dart team received 92 GSoC project proposals from students around the world. Here are the results of the 3 projects we accepted.
Announcing Dart 2.14
Apple Silicon support, and improved productivity with default lints, better tools, and new language features
Experimenting with Dart and Wasm
Compiling Dart to Wasm, and calling Wasm modules from Dart
How Dart’s null safety helped me augment my projects
I migrated a running app and a published package to null safety, and it was awesome!
Implementing structs by value in Dart FFI
A deep dive into API design and native calling conventions.
Announcing Dart 2.13
New type aliases language feature, improved Dart FFI
AngularDart, Flutter, and the web: Spring update
Adjusting our investment for Dart’s open source web frameworks
Announcing Dart support for GitHub Actions
GitHub Actions is a popular offering for continuous integration (CI) for GitHub repos. Today, we’re announcing an official setup-dart…
Dart in Google Summer of Code 2021
Get ready to apply!
Announcing Dart 2.12
Sound null safety and Dart FFI ship to the stable channel.
Preparing the Dart and Flutter ecosystem for null safety
Null safety is now API stable. Publish your stable packages now!
Dart and the performance benefits of sound types
Using soundness and null safety to generate faster, smaller code.
Why nullable types?
Null in Dart code indicates that a variable has no value, but some languages don’t allow null. Learn why both approaches work.
Announcing Dart null safety beta
Beginning the journey to migrate packages to a sound, safer state
Announcing Dart 2.10
A new, unified dart tool for all core tasks. Also, an update on null safety timelines and migration principles.
Exploring collections in Dart
If you have ever called add(), addAll(), map(), or toList() to build a list or map, you might want to check out collection if, collection…
Google Summer of Code 2020 results
The Dart team mentored 5 student developers this summer, as part of GSoC 2020. Read about the student projects.
Introducing a brand new pub.dev
Redesigned for high-quality, multiplatform packages
Dart string manipulation done right 👉
Does your app use emojis or support multiple languages? Dart just introduced a new way to safely handle them in string manipulation.
Announcing sound null safety
Make your apps more stable and performant with Dart’s null safety
3 cool Dart patterns
Try these three useful Dart programming patterns in your next Flutter app.
Announcing Dart 2.8
Faster package tools, new tool for ensuring dependencies never go stale
Students: Join a Dart project for Google Summer of Code 2020
Google Summer of Code is a global program focused on bringing student developers into open source software development. Students are…
Dart asynchronous programming: Streams
This article covers one of the fundamentals of reactive programming: streams, which are objects of type Stream.
Dart declaration-site variance
A deep dive into an experimental feature
Life as a Dart intern
In this companion post to “Dart declaration-site variance”, hear about an intern‘s experience with Google’s Dart team.
Announcing Dart 2.7: A safer, more expressive Dart
Today we’re announcing the stable release of the Dart 2.7 SDK, with additional new capabilities for developers. It’s been a busy year for…
A brand new DartPad.dev with Flutter support
Today, we’re announcing a major upgrade of DartPad.dev with a fresh new look-and-feel and support for the popular Flutter UI toolkit.
Announcing Dart 2.6 with dart2native: Compile Dart to self-contained, native executables
Announcing Dart 2.6, featuring dart2native for compiling Dart apps to self-contained, native executables for Windows, macOS, and Linux
Dart extension method fundamentals
Read about the design considerations behind extension methods, a new feature landing in a future Dart SDK release
Announcing verified publishers on pub.dev
Today we’re announcing a new ‘verified publishers’ feature on pub.dev, the Dart package repository
Dart asynchronous programming: Futures
One of the most basic APIs that Dart has for asynchronous programming is futures — objects of type Future. For the most part, Dart’s…
Announcing Dart 2.5: Super-charged development
Today we’re announcing the stable release of the Dart 2.5 SDK, which includes technical previews of two major new developer features: ML…
Dart nullability syntax decision: a?[b] or a?.[b]
Dart is in the process of redesigning its type system so that individual types will be either nullable (expressions of that type can have…
Dart asynchronous programming: Isolates and event loops
Dart, despite being a single-threaded language, offers support for futures, streams, background work, and all the other things you need to…
Pedantic Dart
Over at Dart’s package:pedantic, we’ve been slowly gathering a list of precisely correct lints you can apply to your Dart code.
Announcing Dart 2.3: Optimized for building user interfaces
Today we’re announcing the stable release of the Dart 2.3 SDK, with new language features that improve your coding experience when…
Announcing Windows support for Dart on Travis CI
Today, we’re announcing that Travis CI on Windows supports the Dart SDK, so you can run Dart build and test jobs on all major desktop OS’s.
Making Dart a Better Language for UI
On the Dart team, we are busy implementing a handful of language changes that I’m really excited about. They all relate to collection…
Announcing Dart 2.2: Faster native code, support for set literals
Today, we’re announcing the stable release of the Dart 2.2 SDK, an incremental update to Dart 2 that offers improved performance of…
Announcing Dart 2.1: Improved performance & usability
Today, we’re announcing the stable release of Dart 2.1, an update to Dart 2 that new language features and performance improvements
Future<void> vs Future<Null>, what’s the difference?
One of the nice upgrades we were able to do in Dart 2 (in addition to better static checking, runtime type safety, optional new/const…
Improved discovery on the Dart package site
Back in July we talked about our changes to the Dart package site (http://pub.dartlang.org), which included better support for analyzing…
Dart 2: Legacy of the `void`
One of the questions I see the most asked on StackOverflow, Gitter, and even Google-internal support channels is the difference between the…
Announcing Dart 2 Stable and the Dart Web Platform
Signals the rebirth of Dart as a mainstream programming language for mobile and web development
Getting ready for Dart 2, and making your packages look great on the Pub site!
We have a new release of Pub, the package repository for Dart! This time around we focused on preparing for the Dart 2 stable release.
Announcement: IDE Tooling for AngularDart 5
Dart is a statically typed language which we know and love, and Dart 2 will be even more strictly typed. That is why it makes such a great…
Announcing official gRPC support for Dart
gRPC is a high performance, open source RPC framework. It offers simple service definitions, is built on http/2, and has support for…
Announcing Dart 2: Optimized for Client-Side Development
Today, we’re announcing Dart 2, a reboot of the language to be uniquely optimized for client-side development for web and mobile.
Annotate Once: AngularDart
Introducing Component Inheritance
Building data binding in the browser
Data binding, or updating the view (usually UI) from your application’s code is probably the holy grail of browser-based web frameworks —…
Dart gets a Type System
Rejoice, all ye faithful, for Dart 2.0 is coming, and it has types.
Moving Fast with Dart Immutable Values
Dart’s built_value provides powerful, convenient immutable values for Dart. The values might be immutable, but the package hasn’t been…
An intro to immutability with Dart
It’s impossible to deny that immutability is a hot topic in programming, especially front-end programming. Libraries like Immutable.js and…
Evolving the Dart REPL PoC
Hacking with Dart
Making a Dart web app offline-capable: 3 lines of code
Have you ever tried to load a web application (maybe a game or a measurement converter) and couldn’t use it because the network was down…
Google Maps with AngularDart
In this article we will integrate Google Maps with an AngularDart application. The app itself will be very simple: it calculates the great…

A Dart REPL PoC
Hacking with Dart

Dart-on-LLVM
This is a story about an experiment to compile the Dart language using the LLVM compiler framework. On its face this is pretty pointless…
Building a Chat App in Dart
Having thoroughly covered the basics of the “built” packages I’m now ready to up the ante by showing them in action.
Dart’s built_value for Serialization
Last week I introduced built_value for immutable object models. We saw how to define object models in built_value; they’re immutable, easy…

StageXL 1.0
A fast 2D rendering engine for HTML5 and Dart.
Dart’s built_value for Immutable Object Models
Last week I wrote about built_collection. I finished by remarking that to really make use of immutable collections, you need immutable…
Dart’s built_collection for Immutable Collections
A month ago I spoke at the Dart Developer Summit about object models with source_gen (video). I mentioned some packages and techniques that…
Why I’m joining the Dart team, of all places
Two weeks ago, I transferred to the Dart team. For many, this was an obvious career move but there were some people who were genuinely surprised about it.