Fresh from the Angular 2015 conference in Salt Lake City, Brett Uglow offers his thoughts and opinions about what he learned from the conference. Angular 2.0, TypeScript, and Component Architecture are some of the many topics he covers, as well as Ionic, Firebase, and what’s coming in Angular 1.4.
Brett is a Front End Engineer with Odecee (http://odecee.com.au), a performance engineering and software development company. He has worked for some of Australia’s largest companies in the finance, telecommunications, and distribution sectors to deliver enterprise-class web applications and websites.
Wow! So much to process from ngConf 2015! Here are the key themes I took away.
Angular 2 is looking pretty good
The performance of Angular 2 over previous versions — and even over React — is (and I’m not one to exaggerate) great! There was a demo by Dave Smith comparing a weekly scheduling component running in 1.3, 1.3 + React, then in Angular 2. Check it out.
Despite my continued misgivings about TypeScript (see below), the fact that the developers repeatedly said that you don’t need it to write Angular 2 applications makes me much more keen to try Angular 2 sooner, rather than later.
Making change detection unidirectional (from Model > Component > View) is a good thing for understandability of Angular and for performance. I’m not sure if it is related to the Flux architecture’s notion of unidirectional data flow, but I think it is.
<Parallel> <Fade target="componentA" fromAlpha="0" toAlpha="1" duration="200"/> <Sequence> <Rotate target="componentB" fromAngle ...> <Resize ...> </Sequence> </Parallel>
Of course, Flex didn’t really have this capability in CSS, so this syntax was the main way of doing animations (though you could also do it in ActionScript). But my point is this: Component architectures are starting to adopt the patterns used in previous component architectures, which I feel is a sign of maturity.
Lastly, there was a demo (the Material design one, actually) that showed how using and configuring an Angular 2 component was the same as configuring a “standard” Web Component — in this case, a Polymer component. Plus, they announced that Angular 2 components will run even in browsers without a Shadow DOM. This is fantastic! One less reason to delay using Angular 2.
Angular 1.4+ will offer a migration path to v2
The fact that ngNewRouter, ngTranslate, and ngAnimate are all based off a single codebase and support 1.4+ and 2.x is a great sign. It means:
- it is possible to write your module once and have it work in both versions of Angular (good news for component developers).
- the Angular team is committed to bringing good ideas back to today’s version of Angular.