Dart 2 migration guide for web apps
This page has information on migrating your Dart 1.x web app to Dart 2. These changes are necessary because of the following:
- Chrome replaces Dartium and content-shell.
- A new build system replaces
pub serve, pub transformers.
- Dart 2 language and library changes.
The development environment for web apps is different in Dart 2 from Dart 1.x. Here are the highlights:
|Dart 1.x||Dart 2|
|Dartium, content shell||Chrome and the
|pub transformers||build package transformers. See: Transforming code|
To migrate to Dart 2, you’ll need to edit your web app’s project files:
pubspec.yaml. See details below.
- HTML files with
<script src="foo.dart"...>elements, such as
web/index.html. See details below.
- Dart code, due to changes in the Dart language and libraries.
For complete examples of migrating apps,
look at the files changed between the
of the following apps:
Make these changes to your
- Add new
build_test:, if you are running tests
- Upgrade to
testversion 0.12.30 or later; it runs Chrome tests headless by default.
- Drop all
For example, look at the differences in the Quickstart example’s pubspec with these changes applied.
HTML with script elements
The most common example of a file with
<script> elements is
You’ll need to make these changes:
<script defer src="packages/browser/dart.js"></script>
<script defer src="foo.dart" type="application/dart"></script>
<script defer src="foo.dart.js"></script>
For example, look at the differences in the Quickstart example’s web/index.html page with these changes applied.
The Dart 2 migration guide has information about changes in Dart 2, and how to migrate your code from Dart 1.x.