The Deep Dive #8
Sep 09, 2020Angular's push pipe, React as a black box and Cypress release with improved network stubbing support
From the blog
New possibilities with Angular's rendering and the push pipe
The main idea behind the Angular push pipe is a new way of handling change detection locally instead of the global handling used in async pipe by Angular natively. It is implemented in a way we can get zone-less performance in zone-full applications.
The best way to implement custom validators
Learn the best practices on how to build your custom validator in Angular by reverse engineering the built-in Angular validators.
In-depth explanation of state and props update in React
This article uses a basic setup with a parent and children components to demonstrate internal processes in Fiber architecture React relies on to propagate props to child components.
From the web
Cypress 5.1.0 release with full network stubbing support
If you've used Cypress a lot you probably know about its network stubbing problems that cause tests to fail, especially in CI environment. A feature request to address that issue and bring more stability has been around for more than two years. Finally, it's been implemented and is available as a new experimental API.
React is becoming a black box
An interesting take on how React is supposed to take care of the “how” so that we can focus on the “what” of our apps, but gradually fails to do that. And that happens because we no longer can predict the “how” part correctly. The articles also features the explanation from Tom Occhino, the Engineering Director of the React Group at Facebook, on why this happens.
To Type or Not to Type
JavaScript is growing explosively and is now used in large mature projects even outside the web domain. JavaScript is also a dynamically typed language for which static type systems, notably Facebook's Flow and Microsoft's TypeScript, have been written. What benefits do these static type systems provide? Read the report to find that out.