BT

InfoQ Homepage News Angular 2 Split, Dart Codebase Separated

Angular 2 Split, Dart Codebase Separated

Bookmarks

Just as Angular 2 nears its final release, the project has announced one more twist in the road. Instead of using TypeScript to compile to JavaScript and Dart, the Dart portion will be spun out into its own codebase with its own team.

As announced on both the Angular Blog and on Dart News, the split is intended to benefit both Dart developers and JavaScript developers.

Dart is used internally at Google for critical projects and the Angular team struggled to keep up with those demands and the demands of the much larger JavaScript community. Initially the idea of compiling TypeScript to both JavaScript and Dart was done because Dart on Angular 1 wasn't getting the attention it needed. By having a single language transpile to two others, the thinking went, they could make sure both flavors were complete. In practice, this caused both projects to suffer, said Naomi Black:

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.

The template syntax won't change regardless of which flavor you're using. According to Black, the API will be the same "where appropriate". This means, however, that future features may not be automatically available on both. For example, the new Angular Dart team announced that they will release their Material Design library for Angular 2 which they already use in production inside Google. This is written solely in Dart and therefore is not available to those using JavaScript. The Angular Material library for TypeScript continues on its own course.

The Dart community response has been very positive. Google software engineer Kasper Lund commented that Angular Dart will be even better now:

Dart thrives because it is being used to build truly critical apps. Making Angular 2 for Dart faster and better strengthens the case for choosing the Dart and Angular combination for such apps even further.

TypeScript and JavaScript developers seem to welcome the news if it means getting Angular 2 done sooner. Hacker News user zoechi commented that the combination slowed Angular's progress:

The combined development (TS+Dart) was slowing Angular development down and contribution was painful because one needed knowledge of both languages. There are notable downsides for the split development but I fully understand the decision. Implementing everything in a way that it can be translated into the other language was a real pain and limited both versions to a common denominator which prevented both versions to benefit from the advantages of their respective language.

The newly freed Angular 2 for Dart is available on GitHub and is currently at version 2.0.0-beta.18. The TypeScript/JavaScript version is now at 2.0.0-rc.4.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • What’s New in Angular 2?

    by Kathreen Riya /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Angular 2 is an innovative and dynamic update from the previous version of the framework.

    Using advanced Routing Solutions. The router in Angular 2 has been reworked to be simple, yet extensible. Also the latest version of Angular 2 has addressed this issue and will allow AngularJS developers to add new directives or controllers.

    Read more here, www.agriya.com/blog/2016/07/20/whats-new-in-ang...

  • Future of Angular Material on JavaScript?

    by gopi w /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Interesting. What does this mean for the community using Angular Material on JavaScript? It's currently built on Angular 1.x; does it mean that future Angular Material libraries, enhancements and bug-fixes would be available only for Dart or TypeScript ?

  • Dart Codebase Separated

    by Andrew Mezoni /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Dart is outcast?
    What is Dart value without Angular?

  • Re: Dart Codebase Separated

    by Lars Rye Jeppesen /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Fuchsia :)

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.