Glosario
Clase 51 de 58 • Curso Profesional de React con Redux 2016
Contenido del curso
Fundamentos
- 3

¿Qué es React?
05:12 min - 4

Hola Mundo con React
07:31 min - 5

¿Qué es y cómo funciona el Virtual DOM?
05:39 min - 6

Introducción a JSX
03:58 min - 7

Creación de componentes
13:21 min - 8

Componentes Puros vs de Estado
03:57 min - 9

Ciclo de vida de un componente
10:23 min - 10

Ciclo de vida de componentes
04:19 min - 11

Manejo de eventos del DOM
04:31 min - 12

Event handlers con parámetros personalizados
03:46 min - 13

Contexto de la aplicación
05:19 min - 14

Componentes de Alto Orden (HOC) y Mixins
08:22 min
Creación del proyecto
- 15

Presentación del proyecto
01:01 min - 16

Instalación de Node.js y usando npm
04:44 min - 17

Estructura de archivos
05:02 min - 18

Iniciar un servidor de render básico - Render en Server
03:40 min - 19

Module bundlers en JavaScript
06:02 min - 20

Configurar Webpack para el servidor de render
09:23 min - 21

Crear una app con React y React Router
04:21 min - 22

Manejo de rutas en el servidor con React Router
14:45 min - 23

Crear cliente para consumir el API
05:04 min - 24

Iniciar la app en el navegador y configurar Webpack para producción
08:58 min - 25

Iniciar un servidor de estáticos con zeit/list
04:33 min - 26

Herramientas de desarrollo de React
03:22 min - 27

Consumir el API y mostrar datos en la home
10:16 min - 28

Perfil de usuarios
08:13 min - 29

Estado de cargando y detalle de post
07:46 min - 30

Paginación de posts mediante scroll infinito
06:42 min - 31

Mostrar listado de comentarios en cada post
02:56 min - 32

Estilizar componentes con CSS Modules
18:43 min - 33

Linter y buenas prácticas con ESLint
22:21 min - 34

Internacionalización con React Intl
17:57 min - 35

Deploy a producción
27:30 min
Implementación de Redux
- 36

Patrones de arquitectura de aplicaciones Frontend
05:35 min - 37

Implementación inicial con Redux para los posts
20:37 min - 38

Uso de middlewares
08:39 min - 39

Acciones asíncronas
09:11 min - 40

Dividir el reducer en funciones más pequeñas y combinarlas
12:16 min - 41

Datos inmutables con Immutable.js
14:00 min - 42

Herramientas de desarrollo
08:08 min - 43

Conclusiones
02:02 min - 44

Pruebas automatizadas de reducers
09:03 min - 45

Pruebas de componentes de React
10:33 min - 46

Actualizando a la última versión de React Router
03:51 min
Desafíos
Contenido bonus
- 51

Glosario
Viendo ahora - 52

Evitar que webpack genere el CSS durante el build del servidor
00:57 min - 53

LazyLoad de imágenes
08:07 min - 54

Animaciones con ReactCSSTransitionGroup
07:31 min - 55

Server render con Next.js
11:53 min - 56

Aplicaciones universales/isomórficas
02:04 min - 57

Iniciar proyectos con create-react-app
04:34 min - 58

Diplomado de desarrollo de aplicaciones con ReactJS
00:38 min
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
propsrecibidos. - 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.