The Deep Dive #5
Jul 08, 2020Improved error logging in Angular, unexpected RxJS patterns and the why for linked list in React internals
From the blog
Improved Error Logging by the Angular AOT Compiler
For the years, one of the biggest pains in Angular was debugging, particularly because of the error messages coming from the compiler. The biggest challenge was missing stack trace of where the actual error occured. Ivy improved it a lot and now gives us the line number too. Read about the improvement in this article.
RxJS: The Unexpected
In this article we'll look at some interesting and often unexpected behavior of common RxJS operators like withLatestFrom, toArray, takeUntil and others.
The how and why on React's usage of linked list in Fiber
This article explores the main the work loop in React's reconciler implementation known as Fiber. It compares and explains the differences between browser's call stack and the implementation of the stack in React's Fiber architecture.
From the web
The Anatomy of a Frame
This article is a bit old but probably one of the most authoritative explanations of how a browser renders a frame, what's involved in shipping pixels to screen and what fires when and why. If you've always wondered where exactly the code you put into requestAnimationFrame is executed definitely give this article a read.
Observables, Reactive Programming, and Regret
A very good article from Ben Lesh on how Observables fit into Reactive Programming and RxJS. He explains how Observables are not RxJS with RxJS just being a library of functions built around observables, not the other way around. The article also outlines a few things that could have been done to make this distinction more evident.
Using JavaScript instead of TypeScript for Deno internals
This is a very technical document outlining the deficiencies of using TypeScript in projects like webservers where extreme performance is required. This story might be interesting for developers working on tooling or library code using TypeScript as the main language.