Header Ads Widget

Ticker

6/recent/ticker-posts

Motor V8 e introducción a NodeJS

 Compartir es demostrar interés

Esta publicación hablará sobre el motor V8 y la introducción a NodeJS

Procesador

Acepta instrucciones en un idioma en particular (por ejemplo: IA-32, X86-64, ARM, MIPS…). Necesitamos dar instrucciones a un procesador en una computadora en el idioma que entiende. El microprocesador ingresa esas instrucciones y las ejecuta.

Código de máquina (o lenguaje de máquina)

Lenguajes de programación entendidos por procesadores de computadora. Cada programa que se ejecuta en una computadora se compila (convierte) al lenguaje de máquina utilizando el compilador respectivo. Todo el código eventualmente se convierte en código de máquina para que la máquina pueda realizar el trabajo.

Los lenguajes de alto nivel se extraen del lenguaje de máquina. En el nivel de abstracción a continuación, puede ver hasta qué punto se abstrae JavaScript del nivel de la máquina. C / C ++ está relativamente mucho más cerca del hardware y, por lo tanto, mucho más rápido que otros lenguajes de alto nivel.

Motor V8

Motor Javascript

Es un programa que convierte código Javascript en código de máquina que los microprocesadores pueden entender.
Por ejemplo: Rhino, Spidermonkey, V8 ... etc.

Dado que hay tantos motores js con sus propios pequeños ajustes en js, ECMAScript se introdujo para estandarizar Javascript. Es el estándar en el que se basa JS.

Formalmente, ECMAScript (o ES) es una especificación de lenguaje de scripting estandarizada por Ecma International en ECMA-262 e ISO / IEC 16262. Fue creada para estandarizar JavaScript.

El motor V8

V8 es un potente motor Javascript de código abierto proporcionado por Google. Está escrito en C ++ y se usa en Chrome. Sigue los estándares ECMA para Javascript.

V8 es solo un programa C ++ y toma JS y lo convierte en un lenguaje comprensible para el procesador. Una característica importante de V8 es que puede ejecutarse de forma independiente (como en la consola Javascript de Google Chrome) o puede integrarse en cualquier aplicación C ++. Esto hace posible escribir un programa C ++ en el que otros puedan escribir Javascript y hacer que este programa ejecute ese Javascript a través de V8.

Entendamos este concepto con un poco más de detalle. V8 puede ejecutarse de forma independiente o puede integrarse en un programa C ++ para agregar más funciones a Javascript.

Motor V8

Por ejemplo: Greet () no es un código JS válido según los estándares ECMA. No hay un código C ++ correspondiente en el motor V8 para la función Greet ().
Lo que podemos hacer es escribir nuestro propio programa C ++ con la definición de Greet () e incrustar V8 en este programa. Así que ahora, cuando alguien llame a la función Greet () en JS y la pase a través de nuestro motor personalizado (nuestro programa C ++ con V8 integrado), invocará la función Greet () definida en nuestro programa C ++.

Esta es una característica muy importante y permite que JavaScript comprenda más de lo que el estándar ECMAScript especifica que JavaScript debe comprender. Es extremadamente poderoso porque C ++ tiene muchas más funciones que Javascript como lenguaje de programación. Javascript fue diseñado para estar en el navegador y no para operaciones de nivel inferior, como manejar archivos y carpetas que se encuentran en el disco duro o conectarse directamente a la base de datos. Pero todo esto se puede hacer a través de C ++ ya que está más cerca de la máquina. Entonces, uno puede escribir cosas en C ++ que Javascript no tiene y hacer que cualquier cosa que se pueda hacer en C ++ esté disponible para Javascript.

Entonces, ¿qué es NodeJS?

Hemos visto que V8 está diseñado para que podamos integrar otros programas de C ++ y hacer que las funciones y las cosas que podemos hacer en C ++ estén disponibles para JS. Esto es lo que es Nodejs. Nodejs es un programa C ++ con V8 integrado que ha agregado una gran cantidad de excelentes características que lo hacen adecuado para ser una tecnología de servidor.

Nodejs nació cuando los desarrolladores originales de JavaScript lo ampliaron de algo que solo podía ejecutar en el navegador a algo que podía ejecutar en su máquina como una aplicación independiente.

Veamos parte del código fuente abierto dentro del motor (programa V8 más C ++). v8 / samples / shell.cc

Aquí podemos ver definiciones de funciones como Print () que de forma nativa no están disponibles en EcmaScript. Siempre que se invoca la función Print () en nodejs, se creará una devolución de llamada y se ejecutará la función.

Motor V8

De manera similar, podemos agregar nuestra propia implementación de diferentes funciones nuevas en C ++ dentro de V8, lo que permite que Node.js. lo entienda.

Ese es el funcionamiento básico de V8 Engine y cómo ayuda en la ejecución del código JS en el lado del servidor (nodejs).

Publicar un comentario

0 Comentarios