We had the pleasure of meeting with the AngularJS team to discuss the recent release of 1.3 and their plans for 2.0 on this week's episode of Adventures in Angular. Join us and Igor, Brad, Brian, and Misko (the father of Angular) for this longer episode as we dive into their strategy. You can also read the transcripts on our site.
Here are some of the top features available in Angular 1.3.
- One-Time binding
- Disabling debugging
- Performance enhancements
- $q Constructor
You can try some of these in my demo application 1.3 Playground on github. I'll be adding more soon. Be sure to check out this video by Brian Ford and Jeff Cross at ngEurope on what's new in Angular 1.3, too.
Angular has been around for 5 years and the web has changed. Massively. Angular is great, its adoption has been astronomic, and 1.3 has some fantastic new features, especially the performance improvements you get out of the box. But in my opinion it needs to evolve to ES6 and the future of the web (web components, shadow DOM, etc) to continue to be the amazingly productive tool in the future that it is today. Changes will come, some in the form of different syntax, but the soul of Angular must remain the same. Testable. Low boilerplate. Separation of concerns. Data binding. Low friction. I can learn syntax and tools will evolve to adapt to that (tooling is always close behind tech).
There also must be a migration story. The team has shared that they are aware of this and will help shape that story. I am contributing time to this effort myself.
There has been a lot of confusion, concern, and questions about what Angular 2 will be like and how the migration path may evolve. We tried to address many of these questions on the interview with the Angular team, to let them answer these directly. We also answered some questions from twitter that were posted while we recorded the show (thanks everyone!). Here are some we received from the community and my interpretation of them:
Q. Regarding #AngularJS2 what are the new benefits of 2.0? Is 3 way data binding going to be a built in functionality with AngularJS 2.0?
A. Interesting question and I assume this is in regards to the recent news about Google and Firebase (which offers 3-way binding). I don't know the answer to this and there has been little talk about what will come of their joining. But I am guessing that Firebase will remain separate and 3-way binding will continue to be an add-on.
Q. Is it recommended that apps built with AngularJS 2.0 use AtScript for the benefits of improved tooling support?
Q. When might we expect any content to be released on Angular 2.0 and migration from 1.3 -> 2.0? What are those breaking changes that we now have to look out for when going through Angular 1.3 courses?
A. Fantastic questions. Angular 2.0 is still early and I am told content will be released as it progresses. The router is pretty far along and will be worked back into Angular 1.x, promises the Angular team. Breaking changes are unclear yet as Angular 2.0 is not yet feature complete, and thus features and a migration path have not yet materialized. I am personally very interested in the migration path (documentation, guidance, and hopefully some tooling) and I plan to write as much about this as I can, when the team gets closer. This is an important area. For now you can follow "controller as", ES6, and other concepts that bring us closer to what they have revealed. You can also refer to my Angular Style Guide, which I am evolving with the Angular team to help provide consistency to 1.x apps which will make it easier to have a migration path. Igor has personally spent a lot of time helping me refine it, and I truly appreciate it as the community will benefit from his insight.
Q. We are planning to use AngularJS, but most of our web applications are developed on top of ASP.NET MVC with razor view engine. What is the best approach for us to migrate to AngularJS? Combine the MVC and AngularJS?
A. Any back end works with Angular, that's the beauty of it and SPA. The simplest setup is an architecture with a lightweight Web API server such as node.js or ASP.NET's project k (vNext), though today's ASP.NET Web API is a fine choice in preparation for vNext. I recommend learning Gulp and Bower for a build process and package management too. Whether you choose node or ASP.NET you'll be happy you made that choice. Especially since Visual Studio's recent announcements have also revealed a lot of features for these extremely popular tools. I'll do a future post on this architecture if there is interest.
Q. I saw the RIP slides on-line for some Angular features. Are they really going away?
Adventures in Angular
Every Thursday morning you can join me and our All-Star panel of co-hosts Joe Eames, Aaron Frost, Charles Max Wood, Lukas Ruebbelke, Brian Ford, Misko Hevery for the latest episode of Adventures in Angular. We will rotate through cranking up a topic amongst ourselves and inviting a special guest in the Angular community. Each episode is 30 minutes-ish.