I had I chance to visit AngularCamp these days and would like to share some thoughts/notes with you.
Todd Motto & James Henry – From imperative to reactive thinking (slides)
Todd showed 2 great examples of streams of real world.
Bulbs that subscribed to one switch:
and coffee machine that makes different sorts of coffee out of water:
Next part was about comparing Imperative and Reactive approaches base on “game of throwing the ball” implementation.
Imperative: too much code, really difficult to follow
Reactive: got lost even knowing how to work with Rxjs
Dmitriy Shekhovtsov – Unleash The Power Of Angular With Knowledge of Patterns
Dmitriy started naming the patterns that everybody knows: singleton, factory, pub/sub, adapter to warmup audience, after continued with: DI, module, IoC, CQRS to make some JS developers exited about new words.
Then he presented Dependancy injection pattern and provided 2 examples: with a fridge where parents “inject” food for the child and with carbonara that you don’t need to take care about ingredients. Frankly speaking, both examples highlighted an encapsulation principle more than DI. After he should how Angular code would look like without DI. I think it would be better to highlight the power of flexibility that DI provides you, instead of showing that
Module pattern was next one. Dmitriy highlighted that even with EcmaScript2015+ with native modules we still have to compile it to an old school function wrapper. Some good reasons why to use this pattern:
- structured code
- manage dependancy
and after he compared it to ngModules: import, export, providers.
Also Dmitriy provided interesting idea to split you SharedModule into 2: to put all you services separately. In this case you would not need forRoot/forChild approach.
Several more words about immutability, pure functions and single responsibility.
Simona Cotin & Artur Daschevici – From Angular to React and back again
Simona and Artur provided kind of comparison for Angular and React(yes, yet another comparison ;) )
Simona started with Angular history, and told us what things had pushed AngularJs to be Angular:
- Web components
and also, of course, it was a time for performance changes. so now we have:
- lazy loading
- tree shaking
Then Artur took the floor and told us some parts of React:
- component based
- predictable state management
- Virtual DOM
Then they compared CLI tools and component declaration and tools for each framework.
- Angular Style Guide
- Upgrade cheatsheet
- unmanageble large app
- state management
- no unified way of doing things
Victor Savkin – State Management Patterns and Best Practices with NgRxb
too much code for 4th talk without break… it looked like Viktor wanted to put 4 hours talk in 40 minutes….
* I’ll rewatch video one more time and will return back to you with more information about this topic.
Also Victor several times during the talk recommended this book:
Martin Splitt – Virtual Reality with A-Frame
He started with some examples of VR
Compared different modern VR devices.
Explained How VR works.
I a bit of VR live coding with a-frame library.
Filip Bech-Larsen – Building dynamic SPA website
Filip showed results of his research how to build Angular over existing CMS: to use all management tools for content creation and editing and same time present it like SPA.
Progressive web apps (lighthouse – to check whether you app is progressive enough)
Angular Service Worker
- install @angular/serviceworker
- angular-cli serverWorker: true
- dynamic routing
Deep psychological talk about developer beings from Carmen that was nicely combined with Martin Splitt jokes.