Last week I had the opportunity to attend & present at the Angular conference, ng-conf. It was a different conference than what I have typically been involved in previously. You can see all the videos from the conference on their YouTube Channel including my session with Dan Wahlin here: TypeScript & ES6.
Logistics & Conference Structure
One big change was shorter sessions. Most sessions were about 20 minutes in a single-track, one room, format. Some, like keynotes, were 40 minutes. There were a few 5 minute talks too. I really liked this format as I found I didn't drift & get distracted. As a presenter, when you are only given 20 minutes to talk so you work hard to focus on the important pieces you want to put across.
Check out the Angular teams blog post on news from ng-conf: Announcements from ng-conf
At the conference there was a lot of talk from the Angular team about the next version that's coming, but this time it was handled MUCH better than at ng-europe last October. Check out the keynote video by Misko Hevery & Rado Kirov for full details.
They also announced a new site for Angular 2: angular.io.
When will it be done? Here's some cool transparency. In May 2015 the Angular team plans to migrate a big internal app at Google to Angular 2. That will give them the best status check & game plan for setting an Angular 2 release date.
What will the requirements be for Angular 2? They have said it will be evergreen browsers which means Firefox & Chrome. As for IE, right now that means IE 11 only... which will be a big impact for many folks.
Migrating to Angular 2
Today we are at Angular 1.3 and on the cusp of Angular 1.4. There are many things that are different in Angular 2 where Angular 1.* things won't work in the new framework. Angular 1.5 will be the version that is intended to help people migrate their apps to Angular 2 when it comes out.
Igor Milar & Brad Green from the Angular team talked about migration in the first keynote... I recommend you check it out here ng-conf 2015 Day 1 Keynote and also check out their slides. One of the biggest take aways for me was that it is entirely possible that you can mix Angular 1.* & 2.0 in the same app. This means you don't have a huge lift & shift rewrite of your app at once... rather you can do it on your own pace.
I look at the changes from Angular 1.* to Angular 2.0 to be something very much like ASP.NET Web Forms to ASP.NET MVC. This was a change we needed to do for many reasons, and the same is true with Angular. But is it right to say "oh no! I'm losing everything I've invested... I will throw away the whole platform!"? No it isn't right to say this. Frankly if that's your attitude, you're missing the plot. Just like the ASP.NET analogy, this is an evolution and a good thing for the platform in the long run. You don't have to throw anything away... it works today & will work tomorrow. But if you are interested, there will be a path forward for those who want to migrate existing apps to Angular 2.
Bye Bye AtScript, Hello TypeScript
One of the biggest bits of news is that following the ng-europe conference last year where the Angular team introduced AtScript, they jointly announced with Microsoft that they were dropping AtScript and would be using TypeScript going forward. Google & Microsoft have worked together to bring the ideas of AtScript to TypeScript and in fact, Angular 2 will be written with TypeScript! You can read more about this on Jonathan Turner's post on the TypeScript blog, or check out his session at ng-conf: TypeScript & Angular 2.
Angular 2 Router
It isn't really fair to say this is an Angular 2 Router... it's really more like a new router. Why? Because it works today in 1.*. It's freaking awesome... there are a lot of striking similarities to the router we get in ui-router. I love how we have the ability to now trap an event before someone leaves a route to detect of the form on the page has been saved or not. it makes it VERY easy for us to say "do you want to save?" and return a promise that you should continue on the route change after we have saved or canceled the save. Check out the entire presentation on the New Router on YouTube.
One last thing I wanted to point out was Angular Material. You can think of this like a Bootstrap but instead it's an implementation of Google's Material Design specifically for Angular. It's pretty cool to work with... I'm a fan and hope we get something from Microsoft like this for their Modern Design language. The news here is that we should expect a final first version out sometime this summer.