V8 es el nombre del motor JavaScript que impulsa a Google Chrome. Es lo que toma nuestro JavaScript y lo ejecuta mientras navega con Chrome. V8 proporciona el entorno de ejecución en el que se ejecuta JavaScript. El navegador proporciona el DOM y las demás API de la plataforma web.
V8 es el nombre del motor JavaScript que impulsa a Google Chrome. Es lo que toma nuestro JavaScript y lo ejecuta mientras navega con Chrome.
V8 proporciona el entorno de ejecución en el que se ejecuta JavaScript. losDOM, y el otroAPI de plataforma webson proporcionados por el navegador.
Lo bueno es que el motor de JavaScript es independiente del navegador en el que está alojado. Esta característica clave permitió el surgimiento deNode.js. V8 fue elegido para ser el motor que impulsó a Node.js en 2009, y cuando la popularidad de Node.js explotó, V8 se convirtió en el motor que ahora impulsa una increíble cantidad de código del lado del servidor escrito en JavaScript.
El ecosistema Node.js es enorme y, gracias a él, V8 también impulsa aplicaciones de escritorio, con proyectos como Electron.
Otros motores JS
Otros navegadores tienen su propio motor JavaScript:
- Firefox tieneMono araña
- Safari tieneJavaScriptCore(también llamado Nitro)
- Edge tieneChakra
y también existen muchos otros.
Todos esos motores implementan el estándar ECMA ES-262, también llamadoECMAScript, el estándar utilizado por JavaScript.
La búsqueda del rendimiento
V8 está escrito en C ++ y se mejora continuamente. Es portátil y se ejecuta en Mac, Windows, Linux y varios otros sistemas.
En esta introducción de V8, ignoraré los detalles de implementación de V8: se pueden encontrar en sitios más autorizados (por ejemplo, el sitio oficial de V8) y cambian con el tiempo, a menudo de manera radical.
V8 siempre está evolucionando, al igual que los otros motores de JavaScript, para acelerar la Web y el ecosistema Node.js.
En la web, hay una carrera por el rendimiento que se lleva a cabo durante años, y nosotros (como usuarios y desarrolladores) nos beneficiamos mucho de esta competencia porque obtenemos máquinas más rápidas y optimizadas año tras año.
Compilacion
JavaScript generalmente se considera un lenguaje interpretado, pero los motores JavaScript modernos ya no solo interpretan JavaScript, lo compilan.
Esto sucede desde 2009 cuando se agregó el compilador de JavaScript SpiderMonkey a Firefox 3.5, y todos siguieron esta idea.
JavaScript es compilado internamente por V8 conjusto a tiempo(JIT)Compilacionpara acelerar la ejecución.
Esto puede parecer contrario a la intuición, pero desde la introducción de Google Maps en 2004, JavaScript ha evolucionado de un lenguaje que generalmente ejecutaba unas pocas docenas de líneas de código para completar aplicaciones con miles a cientos de miles de líneas ejecutándose en el navegador.
Nuestras aplicaciones ahora pueden ejecutarse durante horas dentro de un navegador, en lugar de ser solo unas pocas reglas de validación de formularios o simples scripts.
En estonuevo mundo, compilar JavaScript tiene mucho sentido porque, si bien puede tomar un poco más de tiempo tener JavaScriptListo, una vez hecho, será mucho más eficaz que el código puramente interpretado.
Más tutoriales de devtools:
- Introducción a Yeoman
- Bower, el administrador de paquetes del navegador
- Introducción a las pruebas de frontend
- Usando node-webkit para crear una aplicación de escritorio
- VS Code: use la configuración específica del idioma
- Introducción a Webpack
- Una guía breve y sencilla de Babel
- Introducción a Yarn
- Descripción general de las herramientas de desarrollo del navegador
- Formatea tu código con Prettier
- Mantenga su código limpio con ESLint
- Una lista de interesantes consejos y trucos de Chrome DevTools
- Prueba de JavaScript con Jest
- Cómo usar Visual Studio Code
- Introducción a Electron
- Parcel, un paquete web más simple
- Una referencia de Emmet para HTML
- El motor JavaScript V8
- Configuración de VS Code
- Configurar la línea de comandos de macOS
- Cómo deshabilitar una regla de ESLint
- Cómo abrir VS Code desde la línea de comando
- Cómo configurar la recarga en caliente en Electron