NgRx Best Practices Series: 4. Facade Pattern

This article covers the Facade pattern in NgRx. The reader must have a basic understanding of NgRx or a similar state management library.

The Facade pattern mainly decouples NgRx from the rest of our application. We can also see it as an API. The Facade masks the dispatching of actions as method calls and the selectors as properties of type Observable.

Next to the decoupling, the facade pattern offers even further advantages.

Protractor is dead, long live Cypress! – Part 1

On 24th April, Angular announced the deprecation of their E2E testing tool protractor. It was unclear if there will be a successor or if Angular delegates this to its users. At the time of this writing, WebDriver.IO, TestCafé and Cypress came up with schematics for the Angular CLI.

In this article, I will provide a short overview over the differences between the various E2E frameworks, argue why you should use Cypress and - in the second part - help you with the first steps.

If you prefer watching over reading, then this recording of my talk is for you: read more

Angular E2E: Protractor is dead, long live Cypress

In April this year, even before the release of Angular 12, it became clear what we knew all along. Angular is going to drop Protractor, which has been the official e2e tool since the days of AngularJs.

Although there is no official successor yet and maybe there never will, there is one tool that shines before all others: Cypress.

In this talk, you will get an introduction to Cypress. You will learn how it works, how to use it, and also about its pitfalls. With Cypress, we have finally e2e tests that don't fail and we can trust. read more

Why you don’t need Web Components in Angular

Why you do not need web components

Web Components do not deliver on their promises. I wrote this essay for developers who are evaluating web components or are wondering what went wrong with the web components they already use. I will explain the reasons web components fail and pinpoint the few application types where web components make sense to use.