The last day of ng-conf 2016 continued with lots of great information. Some highlights:
Aysegul Yonet talked about the new features of pipes in Angular2, including how pipes can be configured to better handle change detection.
Ken Synder presented details about transclusion udpates. In Angular1 you can now have multiple slots for injecting transcluded elements. The
ng-transcludedirective now supports a name property and directives can specify multiple transclusion slots that correspond to these names. This allows Angular1 to come closer to how
ng-contenttags work in Angular2.
One of the biggest complaints about using Angular has been the friction around setting up a project and its build tools, even when working with a simple Angular project. Mike Brocchi demonstrated the Angular2 command line interface that aims to address this issue. It is not only for creating a new Angular project, but it also aims to assist in growing and maintaining the application. It can add components, services, routes and other important pieces of an Angular application, but it will also automate upgrades to newer versions of Angular that will come in the future. In addition, it will incorporate the offline template compiler.
If you feel a little lost in all of the terminology and moving parts of the Angular framework, you should watch Scott Moss present “Angular for the Rest of Us”. He does a great job (and uses some excellent metaphors) describing Angular2 development.
One thing that Scott mentions and was echoed in other presentations as well, is that error reporting is much better in Angular2. In Angular1, the source of an error message was easily lost, usually showing a call stack consisting of references within the Angular1 source code. Angular2 does a great job of helping you to identify the actual source of an error. It also fixes issues with setting breakpoints correctly in the browser developer tools.
Rob Wormald showed the Angular-specifc implementation of the ideas behind Redux (which I blogged about a few days ago). He also included a demo of the time-travelling debugger that can be used to diagnose changes to application state, all by including a single element,
<ngrx-devtools></ngrx-devtools>, into the page. The
ngrx/storeproject is integrated with the Angular framework and provides a “predicatable state container”. This is one project of a collection that focus on Reactive Programming implementations for Angular2.
In Angular2, you can build input forms using templates like you do in Angular1, but you can also build forms using a FormBuilder component that allows you to specify data binding and validations within your component rather than in the template. Deborah Kurata does a great job of showing the differences between template forms and model driven forms (and using a hybrid approach that falls somewhere in between).
Of course, there were other presentations as well over the last three days. They are on the ng-conf 2016 YouTube channel. Unfortunately, the break-out sessions from Day Two did not get recorded, as far as I know.
Last up was the usual panel of Angular team members where folks could ask questions. Some of the team’s answers that stood out to me were:
The question always comes up, “When is Angular2 going to be ready?” A key piece is the template compiler. When that is ready, then Angular2 will be ready. However, Brad Green stated clearly that for several large customers and internal Google projects, it is production ready now. If I understood correctly, AdWords, which may be the biggest money-making application on the planet, has already deployed Angular2 components.
And it’s not an “us vs. them” mentality. Angular is one of many solutions and can work alongside of other solutions (including React).
The template compiler might even be available for preview by release candidate 2. (They are at release candidate 1 as of this writing.)
HTTP2 is a technology that is very interesting to the Angular team. It may reduce or eliminate the need for bundling and has already been proven to have other performance benefits as well.
I would like to personally say thanks again to all of the organizers and sponsers of ng-conf. My third year at ng-conf has been as satisfying as the first two. I would also like to give a special thanks to the Angular team for all of their efforts. The Angular2 framework is very exciting and I am looking forward to building great things with it.