Wednesday, July 20, 2016

A dedicated team for AngularDart

Until now, the multiple language flavors of Angular 2 were written as TypeScript source, and then automatically compiled to both JavaScript and Dart. We're happy to announce that going forward, we are splitting the Angular 2 codebase into two flavors—a Dart version and a TypeScript/JavaScript version—and creating a dedicated Angular Dart team.

While this single-source multi-language approach worked in theory, in practice it made it much harder for new contributors to add to the project. Even simple changes could quickly become complicated by cross-language compatibility concerns, and many changes could only be made by someone who understood the entire compilation process and both language targets.

For developers, this doesn't really change much about how you use our APIs, except that it will become easier to contribute changes, and we'll be able to fix issues faster. Both versions will share the same template syntax and, where appropriate, the same API. But you'll have the freedom to submit pull requests in the language that you know best, and changes can be made and reviewed without the added burdens of compilation and cross-compatibility to downstream languages.

For Dart developers, the Angular Dart source code will become cleaner and more Dart-y. With a dedicated team of Dart experts, we'll be able to close issues more quickly, and finally update all of the documentation with a Dart focus. You'll also be able to use many Dart-specific features that weren't compatible with the TypeScript flavor. And it will be faster. Read more on news.dartlang.org.

If you're a TypeScript or JavaScript developer, you'll also benefit from cleaner JavaScript APIs and performance gains as we simplify the TypeScript codebase to remove the need for compilation to Dart.

We're all excited about this change, and we believe it'll make Angular 2 more useful for everyone involved.