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

Cypress & Databases

We all know the problem. A test causes some changes in our database. These changes can break the following tests. Not the nicest thing to do. Unfortunately, we can’t just always mock the database as we can in Unit Tests. So we have to find other ways.

This talk is about various strategies for how to set up our tests so that they have the least possible effect on others.

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.

ngrx Best Practices (German)

This talk (in German) is about best practices in ngrx. For example, it shows how to implement caching, make use the facade pattern and what to do, if the structure of the state is incompatible with the one of the component.

Memory Management in JavaScript

As JavaScript developers we don’t have to care how our application “gets” memory and releases it. We are in the luxurious position that the engine does that automatically and shields us from all challenges that can occur. For a professional developer, this is not an excuse to ignore this important topic.

In my talk, I will cover the very basics of memory management. We will start with the theory in general, watch JavaScript’s memory management in action and learn about patterns that can cause the feared memory leaks. We will finish with an overview of the most important component: Garbage Collectors. read more