La programación reactiva tiene distintas implementaciones, una de ellas es el binding de datos que poseen algunos frameworks como Angular, aunque como vimos la sincronización de datos en Angular se hace vía eventos, también se puede considerar una implementación del paradigma de programación reactiva.
Además de dicha implementación, RxJS, una de las librerías que usa Angular extensivamente, utiliza el patrón del observador para implementar este paradigma.
El patrón del observable es un patrón de diseño de software, en el que podemos identificar dos elementos principales, el sujeto y los observadores. Este patrón es principalmente usado en sistemas basados en eventos, como las interfaces gráficas.
El patrón se explica de la siguiente manera, tenemos el sujeto, cuya responsabilidad es mantener una lista de suscriptores y notificarles de alguna actualización, los observadores o suscriptores se suscriben y desuscriben de la información que tenga que actualizar el sujeto, luego, actualizan información basados en lo que el sujeto les haya dicho.
Este patrón es especialmente útil cuando muchos elementos dependen de los datos y las actualizaciones que otro les envíe, a esto lo conocemos como una dependencia de uno a muchos. En Angular, por ejemplo, podemos tener un sujeto que consulte datos vía AJAX y varios componentes que esperen esa información para actualizar la vista.
Imagina, por ejemplo, que estás desarrollando la interfaz de una tienda en línea, el sujeto consulta los objetos del carrito y uno de los componentes se encarga de mostrar todos los productos del carrito, mientras que otro componente muestra la cantidad de productos que contiene tu carrito.
Tenemos dos elementos que dependen de una fuente de información, una consulta de AJAX. La consulta AJAX en este ejemplo sería el sujeto y los elementos los observadores, de ahí claro el nombre del observador.
Existen muchas librerías y programas que implementan el patrón del Observador, una de estas es RxJS, que es parte de lo que se conoce como las Extensiones Reactivas, en este grupo encontramos la misma implementación de RxJS pero para múltiples plataformas y lenguajes.
RxJS además de implementar los elementos del Sujeto y los Observadores, agrega operadores que modifican la información que envía el sujeto a sus observadores.
Esto significa que nuestra aplicación puede expresarse como flujos de información en los que se colocan operadores a lo largo del flujo que van alterando y adaptando la información. Esto nos permite reestructurar los datos, filtrarlos, definir operaciones en caso de que suceda algún error y muchísimo más. RxJS es una de las librerías que más me gusta utilizar y espero que este curso te ayude a descubrir por qué.
-
Módulo 1 | 7 clases
Introducción
expand_more-
play_circle_outline
Clase 1
Introducción al curso de Angular
-
play_circle_outline
Clase 2
Qué aprenderemos en este curso
-
play_circle_outline
Clase 3
Conocimientos previos
-
play_circle_outline
Clase 4
Qué es Angular
-
play_circle_outline
Clase 5
Diferencias entre AngularJS y Angular
-
play_circle_outline
Clase 6
Control de versiones semántico (semantic versioning)
-
play_circle_outline
Clase 7
Anatomía de un proyecto de Angular
-
-
Módulo 2 | 9 clases
Primeros pasos con Angular
expand_more-
play_circle_outline
Clase 1
Web Components
-
play_circle_outline
Clase 2
Crear un componente
-
play_circle_outline
Clase 3
Templates
-
play_circle_outline
Clase 4
Interpolación
-
play_circle_outline
Clase 5
Propiedades y métodos de un componente
-
play_circle_outline
Clase 6
ngOnInit
-
play_circle_outline
Clase 7
Estilos
-
play_circle_outline
Clase 8
ngContent
-
play_circle_outline
Clase 9
Ejercicio con ngContent y componentes
-
-
Módulo 3 | 21 clases
Componentes a detalle
expand_more-
play_circle_outline
Clase 1
Expresiones de un template de Angular
-
play_circle_outline
Clase 2
Sincronización de datos (Data Binding)
-
play_circle_outline
Clase 3
One way binding (interpolación)
-
play_circle_outline
Clase 4
Property binding
-
play_circle_outline
Clase 5
ngClass
-
play_circle_outline
Clase 6
Directivas Estructurales
-
play_circle_outline
Clase 7
ngIf
-
play_circle_outline
Clase 8
Ejercicio con ngIf y ngClass
-
play_circle_outline
Clase 9
ngFor
-
play_circle_outline
Clase 10
ngSwitch
-
play_circle_outline
Clase 11
Eventos
-
play_circle_outline
Clase 12
Nuevo componente para siguientes ejemplos
-
play_circle_outline
Clase 13
Payload de un evento con $event
-
play_circle_outline
Clase 14
Eventos personalizados (EventEmitter)
-
play_circle_outline
Clase 15
Input properties
-
play_circle_outline
Clase 16
Variables de referencia del template
-
play_circle_outline
Clase 17
Two way binding con ngModel
-
play_circle_outline
Clase 18
Pipes
-
play_circle_outline
Clase 19
Cómo crear mi propio Pipe
-
play_circle_outline
Clase 20
Cómo crear mi propia directiva de atributo
-
play_circle_outline
Clase 21
HostListener para eventos
-
-
Módulo 4 | 14 clases
Servicios y Observadores
expand_more-
play_circle_outline
Clase 1
Actualizar a Angular 6
-
play_circle_outline
Clase 2
Servicios en Angular
-
play_circle_outline
Clase 3
Crear tu propio servicio
-
play_circle_outline
Clase 4
Consultas asíncronas
-
play_circle_outline
Clase 5
Inyector de dependencias en Angular
-
play_circle_outline
Clase 6
Compartir datos de un servicio
-
play_circle_outline
Clase 7
Programación reactiva
-
play_arrow
Clase 8
El patrón del observable
-
play_circle_outline
Clase 9
Observadores y Observables en RxJS
-
play_circle_outline
Clase 10
Operadores en RxJS
-
play_circle_outline
Clase 11
Async Pipe
-
play_circle_outline
Clase 12
Operador de navegación segura ?.
-
play_circle_outline
Clase 13
Async y suscripciones a un Observable
-
play_circle_outline
Clase 14
Servicios en Angular 6
-
-
Módulo 5 | 7 clases
Animaciones
expand_more-
play_circle_outline
Clase 1
Animaciones CSS
-
play_circle_outline
Clase 2
Configurar módulo de animaciones
-
play_circle_outline
Clase 3
Estados y Transiciones
-
play_circle_outline
Clase 4
Aplicar estilos a estados y animaciones
-
play_circle_outline
Clase 5
Ejercicio de animación con Angular
-
play_circle_outline
Clase 6
Organizar animaciones
-
play_circle_outline
Clase 7
Animaciones de listas y escalonadas
-
-
Módulo 6 | 2 clases
Cierre del curso
expand_more