Node.js is branded as a single threaded, asynchronous, non-blocking Javascript runtime. What does this really mean? What is this V8 I keep hearing about? How does it differ from javascript that runs in the browser?
If questions like these intrigue you or have crossed your mind in the past, you're not alone. I too wanted to understand what's going on under the hood of the buzzword soup that is Javascript runtime(s). In this talk, I will go through my findings and past experiences on the topic. We will cover the following:
- An overview of the Javascript runtime architecture. We'll try to make sense of concepts like the Eventloop, V8, libuv, frame rendering and WebAPIs
- Look at the differences b/w the frontend and backend runtimes
- Talk about micro-tasks vs macro-tasks