Glosario

Clase 51 de 58Curso Profesional de React con Redux 2016

Contenido del curso

Creación del proyecto

Implementación de Redux

Este es un glosario de terminos relacionados con el desarrollo de aplicaciones de React y Redux con los que se van a encontrar durante su carrera:

Librerías y herramientas

  • React: Librería para crear interfaces de usuarios combinando componentes.
  • Webpack: Herramienta para generar bundles con nuestro código separado en módulos.
  • React Router: Librería para manejar rutas en nuestra aplicación de forma universal usando componentes de React.
  • Redux: Librería para mantener, actualizar y acceder al estado de nuestra aplicación.
  • Immutable.js: Librería que nos provee de estructuras de datos como mapas y listas inmutables y fáciles de usar.
  • React Intl: Librería para crear aplicaciones multiidioma en React fácilmente.
  • Next.js: Framework para crear aplicaciones con React usando server render y sin configurar nada.
  • Node: Herramienta para ejecutar código JavaScript fuera del navegador utilizando el motor V8 de Chrome.
  • npm: Administrador de paquetes y dependencias de JavaScript.
  • ESLint: Herramienta para verificar nuestro código con base a ciertas reglas para evitar errores comunes y obligarnos a seguir buenas prácticas.
  • Babel: Herramienta para soportar JSX y funcionalidades de JavaScript todavía no implementadas por los todos navegadores a los cuales queremos dar soporte.
  • Create React App: Herramienta usada para iniciar proyectos (sin server render) fácilmente y sin necesidad de configuración.

React

  • Elemento: Instancia de un componente de React o de un elemento del DOM.
  • Componente: Pequeña parte de una aplicación que puede funcionar por si sola y reusable.
  • Componente puro: Componente creado con una función que no posee estado ni ciclo de vida.
  • Componente de estado: Componente que posee un estado interno o métodos del ciclo de vida.
  • Componente de UI: Un componente de puro creado exclusivamente para generar una UI específica con base a los props recibidos.
  • Contenedor: Componente de estado creado exclusivamente para mantener el estado de uno o más componentes de UI y manejar métodos del ciclo de vida.
  • Ciclo de vida: Etapas de la vida de un componente desde que se instancia, monta, actualiza y desmonta del DOM.
  • Estado: Estado interno de un componente que se ve representado en el DOM generado.
  • Render: Proceso de pintar en la pantalla un DOM generado por la combinación de elementos de React.
  • Componente de Alto Orden: Función que recibe un componente y nos devuelve un nuevo componente con funcionalidades extendidas.
  • Contexto: Datos globales accesibles desde cualquier componente fácilmente.

Webpack

  • Entry point: El archivo inicial de nuestra aplicación al partir del cual Webpack lee todos nuestros módulos.
  • Bundle: Archivo generado que contiene todo el código de nuestra aplicación.
  • Loader: Función usada para recibir el contenido de ciertos archivos y devolver otro tipo de archivo.
  • Plugin: Función para implementar nuevas funcionalidades en Webpack como minificar código o evitar código duplicado.

Redux

  • Store: Objeto que almacen el estado actual, nos provee de la función para actualizar el estado y para suscribirnos a los cambios.
  • Estado: Es un objeto que contiene como está la aplicación, la lista de datos, la vista actual, el usuario logueado, etc.
  • Reducer: Función usada por Redux para actualizar el estado con base a una acción.
  • Acción: Objecto de JavaScript que describe un cambio que queremos realizar al estado.
  • Acción asíncrona: Acción usada para realizar tareas asíncronas como peticiones HTTP y luego generar acciones normales.
  • Creador de acciones/Action creator: Función que con base a los parámetros recibidos genera un objeto de acción.
  • Middleware: Función que nos permite realizar tareas asíncronas en una aplicación de Redux con base a acciones despachadas.

Generales

  • Código fuente/Source code: Archivos originales de la aplicación (no listos para producción).
  • Archivos estáticos/Static files: Archivos listos para producción (normalmente generados por Webpack) que luego son enviados al usuario mediante un servidor especializado.
  • Backend for frontend (BFF): El servidor que recibe las peticiones del usuario al entrar a nuestra aplicación, genera y envía el HTML inicial mediante server render.
  • Servidor de estáticos: Un servidor especializado en enviar archivos estáticos al navegador, normalmente reemplazado en producción por un CDN.
  • Content Delivery Network (CDN): Red de servidores de estáticos distribuidos para reducir el tiempo de descarga de archivos estáticos.
  • Renderizar en sevidor/Server Render: Técnica que consiste en generar el HTML de una aplicación en el servidor para poder enviarlo al usuario, mejorando le rendimiento de la carga inicial.
  • Renderizado en el cliente/Client Render: Técnica que consiste en generar el HTML de una aplicación en el navegador, usada luego de que cargue JavaScript para poder actualizar nuestra aplicación sin necesidad de recargar la página.
  • Infinite scrolling: Técnica usada para cargar más datos cuando el usuario está por hacer scroll hasta el final de la página.
  • Lazy Load: Técnica usada para evitar cargar imágenes y otro tipo de estáticos hasta que no sean necesarios.
  • Universal/Isomórfico: Código que es capaz de ejercutarse tanto en el cliente como en el servidor.
  • API: Forma que tienen los servidores para permitirnos comunicarnos y obtener, crear, actualizar o borrar datos.
  • API Rest: Un API que utiliza los métodos HTTP (GET, POST, PUT y DELETE) y los códigos de estado (200, 400, etc.) para facilitar la comunicación con el servidor.
  • Minificación: Técnica usada para eliminar espacios, saltos de líneas y reducir los nombres de variables y funciones y así generar código más ligero.
  • Code splitting: Técnica usada para separar código en varios archivos y cargarlos asíncronamente cuando sean necesarios.
  • Deploy a producción: Proceso de llevar nuestros archivos desde nuestra computadora (entorno local) a un servidor online y accesible para todos.