Introducción a los motores de Javascript

JavaScript no es comprensible para la computadora, pero el único navegador entiende JavaScript. Entonces, necesitamos un programa para convertir nuestro programa JavaScript en un lenguaje comprensible para la computadora. Un motor de JavaScript es un programa informático que ejecuta código JavaScript y lo convierte en un lenguaje comprensible para la computadora.

Lista de motores JavaScript:

Navegador Nombre del motor Javascript
Google Chrome V8
Borde (Internet Explorer) Chakra
Mozilla Firefox Mono araña
Safari  Webkit básico de Javascript

Entendamos cada uno de ellos.

1. V8: V8 es un motor JavaScript desarrollado por Chromium Project para los navegadores web Google Chrome y Chromium. Es un motor de JavaScript que puede ejecutarse de forma independiente o integrarse en cualquier aplicación de C++. Usando su propio analizador, genera un árbol de sintaxis abstracta. Luego, Ignition genera código de bytes a partir de este árbol de sintaxis usando el formato de código de bytes interno V8. Bytecode es compilado en código de máquina por TurboFan. También maneja la asignación de memoria para objetos y la basura recolecta objetos que ya no necesita. Técnicas de optimización como la elisión de costosas propiedades de tiempo de ejecución y el almacenamiento en caché en línea. El recolector de basura es un recolector incremental generacional.

V8 proporciona una ventaja, ya que permite que JavaScript se ejecute mucho más rápido, lo que mejora la experiencia web de los usuarios, allana el camino para el desarrollo de aplicaciones web y estimula el rápido crecimiento de JavaScript del lado del servidor a través de proyectos como Node.js.

2. Chakra: Chakra es un motor JScript desarrollado por Microsoft. Es software propietario. Se utiliza en el navegador web Internet Explorer. Una característica distintiva del motor es que JIT compila scripts en un núcleo de CPU separado, paralelo al navegador web.

3. Spider Monkey: SpiderMonkey es el primer motor de JavaScript, escrito por Brendan Eich en Netscape Communications, más tarde lanzado como código abierto y actualmente mantenido por la Fundación Mozilla. Todavía se usa en el navegador web Firefox.

4. Webkit: WebKit es desarrollado por Apple y se utiliza en su navegador web Safari, así como en todos los navegadores web de iOS. Lo utilizan el navegador BlackBerry, las consolas PlayStation a partir de la PS3, los sistemas operativos móviles Tizen y un navegador incluido con el lector de libros electrónicos Kindle de Amazon. La interfaz de programación de aplicaciones (API) C++ de WebKit proporciona un conjunto de clases para mostrar contenido web en ventanas e implementa características del navegador, como seguir enlaces cuando el usuario hace clic en ellos, administrar una lista de retroceso y administrar un historial de páginas visitadas recientemente.

Ejemplo 1: ejecución de código JavaScript mediante consola: para el motor Nashorn, Java 8 introdujo una nueva herramienta de línea de comandos, iejjl. Tenemos que seguir los siguientes pasos para ejecutar el código JavaScript a través de la consola:

  • Cree un archivo con el nombre geeksforgeeks.js.
  • Abra geeks.js y escriba el siguiente código en el archivo y guárdelo.

Javascript

<script>
  
var gfg= function(){
    print("Welcome to Geeksforgeeks!!!");
};
gfg();
  
</script>

Producción:

Welcome to Geeksforgeeks!!!

Ejemplo 2: Ejecución de un archivo JavaScript incrustando un archivo JavaScript en código Java con la ayuda de la clase ScriptEngine: Con la ayuda de la clase ScriptEngine, podemos crear un motor JavaScript y con el motor JavaScript, podemos ejecutar el archivo javaScript.

// Program to show usecase of Javascript 
// prog in Java Prog
import javax.script.*;
import java.io.*;
  
public class Geeksforgeeks {
    public static void main(String[] args)
    throws Exception {
  
        // Generating Nashorn JavaScript Engine
        ScriptEngine ee = new ScriptEngineManager()
                         .getEngineByName("Nashorn");
  
          
        // Directly use JS Code  inside Java Code
        ee.eval("print('Welcome to Geeksforgeeks!!!')");
    }
}

Producción: 

Es posible que obtenga un error de tiempo de ejecución como

Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK

Esto se debe a que Nashorn será reemplazado por GraalVM.

 GraalVM :   es un tiempo de ejecución de alto rendimiento que mejora el rendimiento y la eficiencia de las aplicaciones. Está diseñado para aplicaciones escritas en varios lenguajes de programación como Java, JavaScript, lenguajes basados ​​en LLVM como C y C++ y otros lenguajes dinámicos. Elimina el aislamiento entre los lenguajes de programación y permite la interoperabilidad en un tiempo de ejecución compartido

Publicación traducida automáticamente

Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *