RUVIDEO
Поделитесь видео 🙏

JavaScript Engine e Runtime: cosa sono e quali sono le differenze

JavaScript engine e runtime sono due concetti legati al mondo JavaScript che uno newbie per potersi evolvere a pro deve conoscere.

Partiamo con la definizione di JavaScript engine. In sostanza è il programma che esegue JavaScript. Il più famoso e utilizzato è il V8 sviluppato da Google e reso open source nel 2008. Nel 2009 Ryan Dahl lo usa per sviluppare la runtime Node JS (non è un framework).

Un engine contiene sostanzialmente due elementi principali:

- Il callstack: dove il codice viene eseguito
- Lo heap: dove vengono memorizzati gli oggetti

Per poter comprendere ancora meglio il ruolo dell'engine dobbiamo fare chiarezza su una cosa e stabilire una volta per tutte che JavaScript non è un linguaggio interpretato, ma bensì compilato.

La compilazione è JIT (Just In Time) ed è un processo che l'engine esegue subito dopo la parsificazione. La parsificazione è il primo processo che l'engine esegue quando gli viene fornito un codice sorgente. In seguito alla parsifica otteniamo un AST (Abstract Syntax Tree) una rappresentazione del sorgente sotto forma di nodi.

La compilazione (JIT) produce un file binario che viene immediatamente eseguito (nel callstack) e durante l'esecuzione viene anche avviato un processo di ottimizzazione che agirà in base al modo in cui è stato scritto il codice (ad esempio se è stata usata la strict mode o la sloppy mode).

Se questo è l'engine, la runtime che fa?

La runtime è un contenitore che include tutto ciò che è necessario per poter usare JavaScript. In particolare in questo video ci focalizzeremo sull'engine (ovviamente), le Web APIs e la callback queue.

Mentre l'engine lo conosciamo già, gli altri due cosa fanno?

- Web APIs mette a disposizione tutta una serie di funzioni come ad esempio le API per interfacciarsi con il DOM, piuttosto che i timer, fetch e in generale tutto ciò che è disponibile nell'oggetto Window.
- Callback queue è una coda di funzioni che possono essere pescate dall'event loop e inserite nel callstack per essere eseguite.

In questo video ho voluto rimanere sintetico ed evitare di introdurre altri concetti più complessi proprio come l'event loop e la microtask queue (durante il video ho avuto un lapsus e non mi ricordavo il nome ?) per l'esecuzione di codice asincrono. Nulla toglie che in futuri video possa andare più a fondo.

---
Se vuoi skippare nelle varie sezioni del video
00:00 Intro
00:13 Cos'è l'engine
01:00 Cosa contiene un JavaScript engine
02:46 Perché JavaScript non è interpretato
06:11 Cosa succede al codice sorgente nell'engine?
08:40 Cos'è la runtime
11:30 La callback queue e callstack
---

Se il video ti è piaciuto e non vuoi perdertene altri non dimenticare non dimenticare di iscriverti al mio canale e di seguirmi sui principali social media:
? FB: https://www.facebook.com/manuel.ricci...
? IG: https://www.instagram.com/manuelricci.wt/
? IN: https://www.linkedin.com/in/riccimanuel/

? https://unsplash.com/@gerandeklerk

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «JavaScript Engine e Runtime: cosa sono e quali sono le differenze», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.