¿Qué es un motor V8?
V8 es un motor JavaScript de código abierto basado en C++ desarrollado por Google. Originalmente se diseñó para Google Chrome y navegadores basados en Chromium (como Brave) en 2008, pero luego se utilizó para crear Node.js para la codificación del lado del servidor. En realidad, las bases de datos No-SQL basadas en JSON, como Couchbase y la ampliamente utilizada MongoDB, utilizan el motor V8. V8 también impulsa a Electron, un destacado marco de aplicaciones de escritorio, y Demo, el último entorno de tiempo de ejecución del lado del servidor.
Se sabe que V8 es un motor JavaScript porque toma el código JavaScript y lo ejecuta mientras navega en Chrome. Proporciona un entorno de tiempo de ejecución para la ejecución de código JavaScript. La mejor parte es que el motor de JavaScript es completamente independiente del navegador en el que se ejecuta. Esta es la característica que llevó a los diseñadores de Node.js a elegir el motor V8 para impulsar el marco, y el resto es historia. El motor V8 también se utilizó para construir marcos de escritorio y bases de datos a medida que Node.JS crecía en popularidad.
¿Cómo funciona el motor V8?
Un motor JavaScript es un intérprete que interpreta el código JavaScript y lo ejecuta. La primera forma de desarrollar un motor de JavaScript es implementarlo como un intérprete estándar, como lo hace SpiderMonkey de Mozilla. La otra opción es emplear la compilación Just-in-Time (JIT), que convierte el código JavaScript nativo en código de máquina como lo hace V8. La distinción entre el código V8 y otros lenguajes de programación es que no genera código intermedio.
El intérprete de Ignition compila código JavaScript y genera código de máquina no optimizado cuando un desarrollador o programa lo ejecuta en V8 (es decir, en un entorno de navegador o de Node). Los componentes Turbofan y Crankshaft de V8 examinan y recompilan el código de la máquina en tiempo de ejecución para un rendimiento óptimo.
Node.Js y V8
Node.js se conoce como un entorno de tiempo de ejecución, ya que contiene todo lo que necesita para ejecutar un programa de JavaScript.
Este motor V8 está en el corazón de Node.js. El diagrama compara la máquina virtual de Java (JVM), que se utiliza para potenciar el entorno de tiempo de ejecución de Java con el motor V8. El entorno de tiempo de ejecución de Node.js incluye varias API de Node para potenciar el entorno de Node.js además del motor V8. Podemos mejorar la funcionalidad de nuestro código de Node instalando paquetes npm adicionales.
Una cosa a tener en cuenta es que V8 es esencialmente una biblioteca de C++ independiente que se utiliza para ejecutar código JavaScript por Node o Chromium. V8 expone una API que otras aplicaciones pueden utilizar, por lo que puede incrustar V8 en su programa C++ y ejecutar un programa JavaScript desde él. Node y Chrome funcionan de esta manera.
Digamos que queremos agregar la capacidad de tener declaraciones como print(‘hola mundo’) además de console.log(‘Hola mundo’) en nuestro código JavaScript. En V8, que ya es de código abierto, podemos agregar nuestra propia implementación C++ de la función de impresión.
Límite de memoria de V8 en Node.js
Actualmente, V8 tiene un límite de RAM de 512 MB en computadoras de 32 bits y 1 GB en plataformas de 64 bits de forma predeterminada. Este límite se puede aumentar configurando –max-old-space-size a un máximo de ~1 gb para sistemas de 32 bits y ~1,7 gb para sistemas de 64 bits. Si se está quedando sin memoria, es una buena idea dividir su proceso único en varios trabajadores.
¿Puede Node.js funcionar sin V8?
Se requiere V8 para que funcione el motor Node.js actual. En ausencia de V8, no tendría un motor JavaScript y, por lo tanto, no podría ejecutar código JavaScript. La interfaz V8 entre C++ y JavaScript es utilizada por los enlaces de código nativo que vienen con Node.js, como el módulo fs (Sistema de archivos) y el módulo Net.
Aunque todo es posible en el mundo de la tecnología, y Microsoft intentó en julio de 2016 reemplazar el motor V8 en Node.js con el motor Chakra JavaScript (que se usaba en Edge en ese momento), ese proyecto nunca despegó, y Microsoft Edge recientemente cambió a Chromium, que utiliza el motor JavaScript V8.
DENO es la tecnología más nueva introducida en el dominio de la programación del lado del servidor. Muchos creen que será un reemplazo de Node.js en los próximos 2 o 3 años, y también funciona con el motor JavaScript V8.
Publicación traducida automáticamente
Artículo escrito por neeraj26pathak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA