After a day of Observables on Day Two, the final day of the Masterclass was focused around forms and routing.

Here’s my typo-laden gitlog for the day to give you an idea of content pace and the type of exercises we worked on:

Day 3 Gitlog Doesn't Lie

Both Kinds of Music: Template and Reactive forms

A good portion of the day was spent working with both Template-Driven and Reactive Forms in Angular - and getting a really good feel for where each of them shine.

I’ve never been much of a fan of Reactive Forms - they seemed like a separation of concerns that I didn’t want to separate - but I have a new respect for them after yesterday (I particularly love the idea of being able to unit test that validation magic in a vanilla unit test).

I now like both approaches - and look forward to road testing both in larger forms apps to give me a real feel for what has the lowest friction.

Here’s the vanity screencast of yesterday’s hacking efforts:

A Survey of Day 3

We also wrote our first custom validator - and used it in both Template and Reactive approaches. Validation code is another area where Reactive’s FormBuilder really shines - super straightforward and clear to read afterwards.

Then on to Child Routes and Laziness

With our forms experiments behind us, it was on to master/detail child routing - which was really great to see in action (I’d read about it, but never had a reason to experiment with it). We had a top level of routing for our menu, then a master/detail child route looking after our Contacts List -> Detail Detail/Editor connection. Super great.

We finished the day exploring lazy loading of routes, then a little about AOT Compilation before I had to leave early to catch the last flight to Canberra.


So was it worth it? Travel costs, Accommodation, Course fees, Time off, etc?

Absolutely. And on so many fronts:

  • Super high-bandwidth classmates. Confirmation bias? :-) The type of developer that’s attracted to a course like this is already a, well, little self-selecting. Everyone was deep-ending tech all over the place and experimenting with different approaches to things (check out Phil’s Post on Piping Errors). Just hanging out with that set of folk was stretching!
  • Super high-bandwidth instructors. Up-to-the minute instruction on latest best practices and emerging approaches. And friendly and approachable as well (we went out for drinks as a several times together as a class just to hang out)! And being committers in ecosystem projects made everything grounded in reality of daily grind (which is super helpful).
  • Multiple Instructors. I’m really sold on this approach. Not only does it give you multiple perspectives and backgrounds, switching up the talking head keeps things fresh and moving.
  • Great exercises. The tasks were clear in what you needed to do, but left you to work out how to do it. There was no “bounding ball” to follow - you had to draw on the courseware, colleagues, and experimenting to get you there. That really forces you to collaborate and learn the stuff (and provides interesting sidetracks along the way).
  • Evergreen courseware. Lifetime access to evolving course materials, exercises and solutions is awesome. This is a super cool benefit in the fast-moving Angular landscape.
  • Pure Focus. For professional development, I’m convinced that nothing beats being in a high-bandwidth focused “in person” training environment. I love video training (and will be both giving and consuming plenty of it this year), but there’s nothing like being in a class of motivated people forcing yourself to do the work.

This was a five star training experience. Six stars if you can do it in Sydney ;-)

Many thanks to thoughtram for coming over!


View of the Sydney Harbour Bridge