Tema_8 FRONT Flashcards
Pequeña historia de la evolución de Scripting FRONT
Por orden cronológico, se fué llamando:
Mocha → LiveScript → JavaScript → EcmaScript [262]
Motores de JavaScript según el navegador:
V8 → (CEO) CHROME, EDGE Y OPERA
SPIDER MONKEY → FIREFOX
JAVASCRIPTCORE→ SAFARI
¿Que otros lenguajes Script han salido, de forma paralela a JavaScript?
- TYPESCRIPT (Microsoft)
- COFFESCRIPT
- CLOJURESCRIPT
- DART (Google)
Aunque no funcionan directamente con nuestro navegador. Hay que transpilarlos.
Dí alguna herramienta para transpilar lenguajes Script, a JavaScript:
BTTJD
- BABEL
- TRACEUR
- TYPE SCRIPT COMPILER (TSC)
- J2Coffe
- Decaffeinate
Herramientas que intervienen en el desarrollo de Frontend.
- BOWER → Construida con Node.JS (Osea, JavaScript) y se usa para gestionar dependencias/versiones de librerías JS. Se instala con npm (node package manager)
- GULP → (GRUNT es la competencia) Sobre Node.JS y automatiza tareas de desarrollo.
- YEOMAN → También hecho con Node.JS, se usa para generar estructuras de directorios y ficheros básicos. Es una herramienta de andamio.
¿Cual es la última versión de ECMAScript?
La Versión 14ª, ECMAScript 2023.
Dí características de JavaScript:
- Lenguaje de programación ligero, interpretado.
- A sus funciones se les llama de CIUDADANOS DE PRIMERA CLASE.
- Basado en objetos.
- En vez de clases, tiene PROTOTIPOS
- Dinámico
- Orientado a eventos
- Clausulas
- Imperativo y Declarativo.
Dí características específicas de ECMA 6:
- Promesas, se ejecuta código de forma asíncrona
- Clases
- Array Functions por ejm:for each, map, filter
- ARROW FUNCTIONS
Dí algunas versiones de ECMASCRIPT:
- La 5 es conocida como ES5 o ECMAScript 2009
- Luego van de la 6 a la 14, empezando por la ES2015 hasta la ES2023.
Como podemos encontrar en inglés, la explicación de Transpilador.
Source-to-source-compilation
A diferencia de los compiladores, un transpilador se usa para pasar de un lenguaje de programación, a otro de similar nivel de abstracción.
¿Qué es Vanilla JS?
Es JavaScript puro, no necesita Frameworks ni nada.
¿Como gestionamos dependencias en JavaScript?
En la mayoría de los casos se hace con módulos de NODE.JS, que se instalan con NPM.
package.json
- BOWER - En desuso
- YARN
- WEBPACK
- PARCEL
- PNPM
¿Qué es node_modules?
La carpeta node_modules es un directorio que se crea en la carpeta raíz de nuestro proyecto cuando instalamos paquetes o dependencias mediante npm, teniéndolos en nuestro proyecto local (no dependen de una ruta externa al proyecto) y sin necesidad de manipularlos manualmente.
¿Qué es un Lintador en JavaScript?
Es como SonarQube, pero orientada a analizar específicamente el código JavaScript.
¿Cual es la carpeta de Bower, donde se descargan las dependencias?
bower_components
¿Qué es MINIFICAR?
Es comprimir un JavaScript, para mejorar su rendimiento.
¿Qué son ROLLUP, PARCEL Y WEBPACK?
Son Bundler’s o empaquetadores. Que no están limitados solo a contenido JavaScript.
¿Como funciona AJAX?
Funciona en todos los navegadores.
Con el objeto → XMLHTTPRequest
Hace recargas parciales de la WEB
Peticiones en segundo plano
Peticiones HTTP Asíncronas (eventos)
Favorece el desarrollo de aplicación web RIA. (rich Internet application).
Un ejemplo de Ajax:
Por ejemplo nos sale en pantalla un botón que al pulsarlo, nos carga una lista.
Mientras está buscando o cargando esa lista, programamos el html, para que nos ponga “cargando”
Cuando termina de cargar la lista, también programamos el html, para que nos ponga “cargado”
Esto se puede controlar con READYSTATE, que es una property de XMLHTTPREQUEST, que nos devuelve el estado en el que se encuentra nuestra petición.
¿Qué estados tiene READYSTATE?
0: UNINITIALIZED
1: LOADING
2: LOADED: Encabezados y estado disponibles.
3: INTERACTIVE: responseText, responseXML
4: COMPLETED