Google Closure Tools [ 3 ] era un conjunto de herramientas creadas con el objetivo de ayudar a los desarrolladores a optimizar aplicaciones web enriquecidas con JavaScript . Fue desarrollada por Google para su uso en sus aplicaciones web como Gmail , Google Docs y Google Maps . [ 4 ] A partir del 1 de agosto de 2024, la biblioteca Closure fue descontinuada por no "satisfacer las necesidades del desarrollo moderno de JavaScript". [ 5 ]
Compilador Closure
Closure Compiler es una herramienta que comprime y optimiza el código JavaScript, reduciendo su legibilidad . A diferencia de un compilador convencional , no compila JavaScript a código máquina , sino que minimiza el código JavaScript.
El proceso ejecuta los siguientes pasos:
- Analiza el código JavaScript enviado.
- Analiza el JavaScript
- Elimina cualquier código muerto
- Reescribe y minimiza lo que queda
También comprueba la sintaxis , las referencias a variables y los tipos , y advierte sobre los errores comunes en JavaScript .
Admite la transpilación de código ECMAScript moderno a ECMAScript 5 para lograr una mayor compatibilidad con navegadores , similar a Babel . Esto dejó obsoleto a Traceur Compiler, otro proyecto que admitía la transpilación de ES6 a ES3. [ 6 ]
El compilador Closure también admite la verificación de tipos mediante anotaciones de tipo JSDoc . [ 7 ]
CLI
El compilador Closure está disponible para su uso a través de herramientas de línea de comandos :
- Aplicación basada en Java que se ejecuta desde la consola y compila una lista de archivos JavaScript especificados.
- Paquete npm
google-closure-compilerque proporciona tres compiladores: ejecutable binario nativo (a través de GraalVM ), Java y uno basado en JavaScript.
Servicio de compilación de cierre
La aplicación Closure Compiler Service proporciona un formulario para que el usuario introduzca una URL que apunte a un archivo JavaScript o escriba el código fuente JavaScript en un cuadro de texto. El sitio web mostrará el código JavaScript compilado en el lado derecho para que el usuario lo copie. [ 8 ]
Hay una API disponible, accesible mediante solicitudes POST , cuyos parámetros incluyen:
- El código JavaScript que se va a optimizar, o una URL que apunta a él.
- Nivel de optimización
- Emitir errores y advertencias
- Formato de salida, por ejemplo, JSON, XML o texto.
El servicio está marcado como obsoleto y eventualmente será eliminado. [ 9 ]
Ecosistema
Los lenguajes de programación que se transpilan a JavaScript pueden usar Closure Compiler en su conjunto de herramientas. Por ejemplo, Closure Compiler se usa en ClojureScript para optimizar el JavaScript compilado. [ 10 ]
Interiores
Closure Compiler se basa en una versión modificada del motor Rhino JS de Mozilla, Google Guava , una biblioteca estándar de Java, Protocol Buffers , Gson y diversas herramientas de prueba. Además, incluye anotaciones JSDoc de JavaScript integradas para varios proyectos populares como la biblioteca API estándar de Node.js, jQuery y las API de Google Maps.
Biblioteca de cierre
Closure Library es una biblioteca de JavaScript escrita específicamente para aprovechar Closure Compiler, basada en una arquitectura modular . Proporciona funciones compatibles con diferentes navegadores para manipulaciones y eventos del DOM , Ajax y JSON , así como objetos de nivel superior como widgets y controles de interfaz de usuario .
Plantillas de cierre
Closure Templates es un sistema de plantillas para generar HTML dinámicamente tanto en Java [ 11 ] como en JavaScript . [ 12 ]
Dado que Google se refiere internamente al lenguaje como "Soy", y "Soy" permanece en parte de la documentación y las clases, [ 13 ] a veces las plantillas Closure se denominan "plantillas Soy".
Hojas de estilo de cierre
Closure Stylesheets proporciona extensiones a CSS , que se transpilan a CSS estándar. Internamente en Google, esta versión extendida de CSS se conoce como GSS.
A partir de noviembre de 2021, Closure Stylesheets ha sido descontinuado en favor de herramientas como Sass y PostCSS . [ 14 ]
Véase también
Referencias
- ↑ "Presentamos Closure Tools - El blog oficial de Google Code" . 5 de noviembre de 2009.
- ↑ "v20230802: RemoveUnusedCode: registra los motivos por los que no se eliminan las variables" . 2 de agosto de 2023. Consultado el 4 de agosto de 2023 .
- ↑ Bolin, Michael, "Closure: The Definitive Guide", O'Reilly Media Inc., Sebastopol, CA, 2010
- ↑ "Preguntas frecuentes - Herramientas de cierre" . Google Developers .
- ↑ "La biblioteca de cierre está en modo de mantenimiento" .
- ↑ "Traceur es un compilador de JavaScript.next-to-JavaScript-of-today" . GitHub .
- ↑ "Anotando JavaScript para Closure Compiler" . GitHub .
- ↑ "Servicio de compilación de cierre" .
- ↑ "Referencia de la API del servicio de compilación de cierre" . Consultado el 18 de julio de 2023 .
- ↑ "Motivaciones para usar las herramientas Closure de Google" . GitHub .
- ↑ "Hola mundo usando Java" . github.com .
- ↑ "Hola mundo usando JavaScript" . github.com .
- ↑ "Archivo de Google Code: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code" . code.google.com .
- ↑ Weizenbaum, Natalie (01/11/2021). "Marcar oficialmente este repositorio como final de vida útil" . Recuperado el 18/07/2023 .
Enlaces externos
- Software de 2009
- Software libre programado en Java.
- Bibliotecas de JavaScript
- Software de desarrollo web
- Software de Google descontinuado
- Software que utiliza la licencia Apache.