En 2011, Alex Rusell introdujo al mundo del Desarrollo Web el concepto de Web Components. Una colección de APIs del navegador a través de las cuales se podían crear elementos personalizados para su uso en la web.
El propósito de esta funcionalidad es poder separar la funcionalidad de nuestras Aplicaciones Web en el Frontend, en componentes, de la misma forma en que ya funciona HTML.
Los web components, también conocidos como Custo Elements son precisamente eso, elementos personalizados y propios que podemos usar en nuestro documento HTML.
<body>
<slider></slider>
</body>
Estos elementos agrupan su funcionalidad, HTML, CSS y JavaScript y se exponen al exterior vía el uso de etiquetas tradicionales.
Son 4 las especificaciones que hacen funcionar el concepto de Custom Elements:
- HTML templates
- Shadow DOM
- HTML imports
- custom elements
Aunque la idea de separar la interfaz de nuestra aplicación en widgets suena excelente, la adopción de los Custom Elements por desarrolladores ha sido muy débil. Sin embargo, muchos frameworks populares como React y Angular han adoptado la idea de modularizar el frontend vía componentes.
Esto significa para nosotros, que siempre que creemos una aplicación con Angular, vamos a separar la funcionalidad de nuestra aplicación en componentes.
También significa que los componentes de Angular está pensados para alinearse con la especificación de la web, por lo que podemos usar Custom Elements nativos dentro de una aplicación de Angular, así como los componentes de Angular adoptan algunos de los conceptos más importantes como el Shadow DOM, que nos permite crear un árbol de elementos encapsulados por un solo elemento.
De hecho, justo ahora el equipo de experimentación de Angular Labs está trabajando en Angular Elements, una manera en la que podamos exponer nuestros componentes de Angular, para que estos sean usados como Custom Elements, esto nos permitirá usar los componentes de Angular en cuantos entornos queramos aún cuando el framework no esté integrado.
Continuemos.
-
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_arrow
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_circle_outline
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