Curso de Alpine.js

Aprende AlpineJS, la librería Javascript ligera y moderna para el desarrollo sencillo de interfaces de usuario dinámicas en páginas web.
Inscripciones abiertas
Intermedio
65 Clases 14 h (aprox.)
75€
59€
Precio en promoción

Próxima clase

Lunes 29 de julio

h

Añadir a Google Calendar

Alpine.js es una librería Javascript para el desarrollo de dinamismos en páginas web, con un enfoque sencillo y productivo. Permite crear comportamientos dinámicos personalizados en páginas web con los que puedes llegar a componer cualquier funcionalidad que necesites, de una manera ágil y sencilla.

Esta biblioteca de código tiene varias ventajas, como su facilidad de aprendizaje, su extraordinaria ligereza y su sencilla integración en proyectos nuevos o ya existentes. De todos modos, para entender mejor el enfoque nos ofrece Alpine.js y que lo distingue dentro del panorama de los frameworks y bibliotecas Javascript actuales, podemos decir que "Alpine es para Javascript lo que Tailwind es para CSS".

Qué aprenderé en el Curso de Alpine.js

  • Qué es Alpine y cómo usarlo en proyectos de sitios web
  • Cómo componer interfaces de usuario con Alpine.js
  • Cómo usar las distintas directivas que nos proporciona Alpine
  • Cómo sacar partido a las propiedades mágicas de Alpine
  • Trabajar con eventos nativos y eventos personalizados
  • Cómo construir nuestras propias directivas en Alpine

Objetivos del curso

Enseñar a los estudiantes a trabajar con Alpine.js, explicando su funcionamiento de una manera práctica. Conocer las directivas que nos ofrece Alpine y su modo de uso, para resolver distintas necesidades de desarrollo de interfaces de usuario comunes en páginas web. Aprender asuntos más avanzados de Alpine.js que nos permitan organizar mejor el código y extender sus funcionalidades.

Por qué debes aprender Alpine.js

Dentro del panorama de herramientas Javascript AlpineJS nos ofrece un enfoque diferente, que encaja muy bien con desarrolladores de diversos tipos:

  • Profesionales que conocen de antemano Javascript, incluso otras librerías populares, pero que valoran positivamente su productividad y la habilidad de crear comportamientos sencillos de una manera ágil
  • Personas que no tienen tanta experiencia en el desarrollo frontend pero que desean acceder a ventajas de las librerías modernas, como la reactividad, la programación declarativa o la gestión del estado, asumiendo una curva de aprendizaje muy suavizada
  • Profesionales que tienen que dar soporte a proyectos legacy y desean incorporar cambios rápidamente, asumiendo el menor riesgo posible y sin necesidad de alterar el código heredado
  • Desarrolladores a los que no les gusta lidiar con sistemas de bundelización necesarios en las librerías y frameworks modernos

En este curso podrás no solo aprender a trabajar con Alpine, sino también a dominar esta librería para sacarle el máximo provecho en contextos sencillos y avanzados.

Dicho sea de paso y para que sirva de aclaración, Alpine.js es una biblioteca que encaja muy bien en el desarrollo de sitios web tradicionales donde deseamos incorporar dinamismos sin necesidad de complicarnos la vida o alterar nuestro workflow actual. Si se trata de proyectos complejos sería más recomendable acudir a otras bibliotecas más avanzadas como React, Vue, Lit, etc.

Qué tengo que saber

Este curso se puede hacer con unos conocimientos básicos de HTML y CSS y algunas nociones de programación esenciales. Al principio explicaremos el código Javascript de modo que incluso si no sabes el lenguaje de programación puedas entender los ejemplos.

A medida que avanza el curso y nos dediquemos a temas más avanzados, iremos dando por entendidas muchas cosas del lenguaje, por lo que si tienes conocimientos previos de Javascript será mucho más fácil para ti asimilar el contenido completo del Curso de Alpine.js.

Clases y contenidos

Alpine.js Gratis
  • Qué es Alpine.js
  • Cómo desarrollar componentes básicos con Alpine

Clases a la carta

A partir de este punto todas las clases del cursos son a la carta y se irán liberando en la fecha indicada.

Ejemplos iniciales de desarrollo con Alpine.js

En estos primeros vídeos del curso de Alpine.js vamos a demostrar la experiencia de desarrollo que nos ofrece esta librería Javascript, realizando ejemplos relevantes que nos permitan entender cómo trabajar con la biblioteca y qué tipo de cosas podemos hacer de manera prácticamente inmediata con muy poco esfuerzo.

Introducción a Alpine.js Gratis

En este vídeo veremos como integrar AlpineJS en una página web, simplemente utilizando un script JavaScript que traemos directamente desde el CDN. Veremos un primer ejemplo de desarrollo con Alpine.js que nos demuestre sus características reactivas.

Ejemplo de Interfaz de Usuario Dropdown

Ahora vamos a ver un típico ejemplo que nos ayudará a entender la facilidad con la que podemos desarrollar comportamientos dinámicos en AlpineJS. Será una interfaz de usuario de tipo dropdown.

Ejemplo de buscador dinámico

En este vídeo vamos a realizar un ejemplo de buscador realizado con Alpine. Será un buscador rudimentario pero que permita mostrar las facilidades con las cuales podemos filtrar elementos en un array y mostrar los resultados dinámicamente en la página, de manera reactiva.

Directiva x-data de Alpine

La directiva x-data es la más importante dentro de todas las que ofrece Alpine.js. Cuando la usamos estaremos convirtiendo un pedazo de HTML en un componente Alpine.

Estado del componente con x-data

En este primer vídeo vamos a explicar cómo definir el estado del componente gracias a la directiva x-data.

Métodos en x-data

Cómo definir métodos en el componente mediante la directiva x-data de Alpine.js.

Cómo mejorar la organización del código definido en x-data

Explicamos cómo podemos utilizar Alpine.data() para separar las definiciones de los componentes de Alpine, de modo que mejoremos la mantenibilidad del código y su reutilización.

Ámbito de las definiciones x-data

Consideraciones con respecto al ámbito de los datos de los componentes Alpine.js.

Directivas básicas de Alpine.js

En los siguientes vídeos vamos a repasar las directivas más básicas con las que trabajaremos para la creación de los componentes en la biblioteca Alpine.js y que permitirán realizar la inicialización de los componentes junto con pequeños efectos y enlace de datos. Finalmente, desarrollaremos una caja modal.

Inicialización de los componentes AlpineJS

En este vídeo vamos a conocer la directiva x-init que nos permitirá inicializar componentes de Alpine con código JavaScript arbitrario.

Explicaciones y ejemplos de x-show

Veremos ejemplos sobre la directiva x-show y algunas explicaciones y aplicaciones relevantes.

Enlace de datos en Alpine con x-bind

Explicamos la directiva x-bind de Alpine JS que nos permite realizar el enlace de datos de las propiedades de los componentes hacia los atributos HTML de los elementos.

Como bindear datos a las clases CSS

Vamos a repasar y poner ejemplos sobre algunas configuraciones importantes de x-bind que son específicas cuando estamos bindeando datos a los atributos class de las etiquetas.

Creación de un componente de interfaz gráfica caja de diálogo con Alpine

Finalizamos este bloque poniendo un ejemplo de componente de UI típico en las páginas web: una caja de diálogo modal.

Manejo de eventos con Alpine.js

En los siguientes vídeos vamos a abordar muchos asuntos importantes en lo que respecta al manejo de eventos en la biblioteca Alpine y la definición de manejadores de eventos Javascript. Acabaremos desarrollando un componente carrusel.

El objeto evento de JavaScript

Qué es el objeto evento en JavaScript y como poder acceder a él en los manejadores de evento declarados con Alpine.

Consideraciones para eventos de teclado y ratón

Cómo gestionar eventos de teclado y de ratón en los componentes desarrollados con la librería Alpine.js.

Modificadores de eventos disponibles en AlpineJS

Ejemplos importantes sobre los modificadores de eventos que podemos implantar en los componentes AlpineJS para crear manejadores especializados en determinadas pulsaciones de teclas o comportamientos del ratón.

Ejemplo de componente carrusel

En este vídeo vamos a realizar un componente de interfaz gráfica de tipo carrusel en Apline, aplicando conocimientos de los eventos aprendidos en los anteriores vídeos.

Enlace de datos avanzado con Alpine.js

En los próximos vídeos vamos a aprender a realizar el enlace de datos más avanzado que nos ofrece la librería Alpine, conociendo las directivas x-model y x-modelable. Además repasaremos conceptos y usos específicos de otras directivas ya explicadas en el curso de Alpine como x-text y x-html. Realizaremos nuevos componentes de interfaces gráficas para ilustrar estos conocimientos.

Directivas x-text y x-html

En este vídeo vamos a repasar la directiva x-text explicando cosas adicionales y conoceremos además la directiva x-html, detallando usos y consideraciones importantes a tener en cuenta para la seguridad.

Directiva x-model

Veremos cómo es el enlace de datos de dos direcciones (2 way data binding) que nos ofrece Alpine mediante la directiva x-model.

Interfaz de UI switch

Vamos a desarrollar un componente de interfaz gráfica de tipo interruptor. Sería algo parecido a un checkbox pero con un aspecto diferente, que se comportará gracias a x-model como un checkbox nativo del HTML.

Cómo trabajar con datos complejos usando x-model

Cuando tenemos agrupaciones de datos podemos mantenerlos unidos en objetos JavaScript complejos, lo que colaborará a la hora de mantener las aplicaciones y los flujos de datos.

Directiva x-modelable

En este vídeo vamos a conocer la directiva x-modelable que en la práctica nos permite usar x-model para un enlace de datos de dos direcciones (2 way data binding) con cualquier componente arbitrario de AlpineJS, incluso con interfaces y componentes existentes en otras librerías.

Recorridos a colecciones con x-for

En este bloque vamos a conocer en detalle la directiva x-for que nos permite realizar recorridos a colecciones o arrays, creando contenido de manera dinámica para cada uno de los elementos de la colección.

Directiva x-for de Alpine

Veremos en este vídeo los conocimientos básicos necesarios para entender y usar la directiva x-for.

Componente de UI color picker

Realizamos un componente de "color picker" usando los conocimientos adquiridos sobre la directiva x-for.

x-for y Ajax en Alpine

En este vídeo vamos a mostrar un ejemplo sobre cómo podemos hacer uso de AJAX para el acceso a datos de un servicio web y cómo podemos luego mostrar esos datos por medio de la directiva x-for de Alpine.

Cómo definir keys de las repeticiones para aumentar el rendimiento

Consideraciones importantes cuando usamos colecciones en Alpine de muchos elementos, donde además queremos realizar ordenaciones, manteniendo un rendimiento elevado.

Otras directivas de Alpine.js

En los vídeos vamos a mostrar toda una serie de directivas importantes en Alpine que nos quedan por aprender en este curso.

Directiva x-transition de Alpine

Con esta directiva conseguiremos realizar efectos de transiciones de manera inmediata, mejorando la vistosidad de los componentes de manera extremadamente sencilla.

Directiva x-effect de AlpineJS

Con esta directiva podemos facilitar la interoperabilidad entre componentes de Alpine o componentes ya existentes en sitios web donde estemos integrando Alpine, y por supuesto también con JavaScript.

Directiva x-ignore de Alpine.js

Una sencilla directiva para conseguir ignorar determinadas partes de los componentes Alpine.

Directiva x-ref de Alpine

Una importante directiva que nos permite acceder a los elementos del don que hay dentro de los componentes, por medio de referencias sencillas de generar y acceder.

Directiva x-cloak de AlpineJS

Está directiva nos permitirá mejorar la experiencia de usuario en la carga de los componentes Alpine que tienen elementos donde estamos utilizando x-show.

Directiva x-teleport de Alpine.js

Con x-teleport podremos solucionar algunas situaciones poco deseables, que pueden darse dependiendo de dónde estén colocados nuestros componentes dentro de la página.

Directiva x-if de Alpine

Esta directiva nos permite ocultar y mostrar elementos de una manera diferente a x-show que puede ser importante en determinadas circunstancias.

Directiva x-id de Alpine.js

La directiva x-id nos permite generar y ids dinámicos y únicos, algo muy importante cuando estamos reutilizando los componentes en varios lugares de la página.

Magic properties básicas de Alpine

En este bloque vamos a introducir las "Magic properties" de Alpine, explicando las más elementales y sencillas de entender.

Magic Property $el

Vemos la magic property de Alpine $el para acceder al elemento actual.

Magic Property $refs

Vemos la magic property de Alpine $refs para acceder a elementos del componente que hayamos marcado con la directiva x-ref.

Magic Property $data

Ahora abordamos la magic property de Alpine $data que nos permite acceder a los datos que tenemos en un componente.

Magic Property $id

En este vídeo vamos a ver de nuevo $id con nuevos usos que no habíamos tratado cuando vimos la directiva x-id.

Magic Property $root

En este caso trabajaremos con la magic property de Alpine $root que nos permite acceder al elemento raíz de un componente en Alpine.js.

Magic Property $nextTick

Una magic Property de Alpine muy útil cuando queremos que se realicen cosas después de que los mecanismos de reactividad de los componentes han sido ejecutados ya.

Magic Property $watch

En este caso estamos ante una magic property que nos permite suscribirnos a cambios en los datos del x-data del componente Alpine.

Gestión de eventos personalizados en AlpineJS

En los próximos vídeos vamos a explicar cómo trabajar con eventos personalizados en los componentes Alpine, lo que nos permitirá realizar la interoperabilidad entre componentes realizados con esta biblioteca o con cualquier otro código javascript que trabaje con custom events.

Dispatch de eventos personalizados

Vamos a ver de manera básica como se realiza la gestión de los eventos personalizados dentro de los componentes Alpine.

Añadir a Google Calendar
Cómo acceder a datos enviados en los eventos personalizados

Cuando trabajamos con custom events en el navegador es muy habitual que tengamos que enviar datos importantes que deben ser recibidos por aquellos agentes que estén suscritos a los eventos. En este vídeo aprenderemos a realizar esto con el detalle del evento.

Añadir a Google Calendar
Práctica avanzada de manejo de eventos personalizados

En este vídeo vamos a practicar con todo lo aprendido sobre los custom events en Alpine.js, aplicando el conocimiento sobre nuestra aplicación de gestión de tareas.

Añadir a Google Calendar

Gestión de estado global en aplicaciones y páginas Alpine.js

Para usos avanzados de la biblioteca Alpine resulta muy importante aprender a gestionar el estado global de las aplicaciones. Veremos las utilidades que Alpine.js nos ofrece de casa para poder realizar esta labor.

Store global en Alpine

En este vídeo aprenderemos las generalidades sobre el manejo del estado global en Alpine y sus componentes.

Añadir a Google Calendar
Práctica de manejo del estado global en nuestra aplicación de tareas

Utilizamos el conocimiento aprendido sobre el manejo de estado global en nuestra aplicación de gestión de tareas.

Añadir a Google Calendar
Inicialización del estado global

Cuando creamos componentes que utilizan estado global debemos realizar la inicialización de manera individual con su propio init().

Añadir a Google Calendar
Método global Alpine.bind()

Veremos un ejemplo básico de uso de Alpine.bind() para la declaración reutilizable de enlaces de datos en elementos del DOM.

Añadir a Google Calendar
Global Alpine.bind() avanzado

Utilizamos nuestro ejemplo de aplicación de gestión de tareas para aprender usos más avanzados de Alpine.bind().

Añadir a Google Calendar

Plugins oficiales de Alpine

En los siguientes vídeos vamos a ver cómo trabajar con algunos de los plugins que el propio equipo de Alpine ha desarrollado para implementar diversas funcionalidades comunes en sitios y aplicaciones web.

Implementar plugins de Alpine: Plugin collapse

Cómo utilizar el plugin Collapse de Alpine para hacer fácilmente transiciones con efectos de cortinilla (slidedown / slideup).

Añadir a Google Calendar
Plugin persist

Aprendemos a utilizar la persistencia en el navegador de datos guardados por los componentes Alpine.

Añadir a Google Calendar
Cómo utilizar la persistencia en el store global

Unas notas para resolver problemas que podemos encontrarnos al trabajar con persistencia de datos que están en stores globales de Alpine.

Añadir a Google Calendar
Plugin anchor

En este vídeo vamos a mostrar el uso del plugin anchor, que nos permitirá colocar elementos de tipo tooltip o dropdowns en los lugares que necesitemos.

Añadir a Google Calendar

Extensión de Alpine por medio de directivas personalizadas

En estos vídeos vamos a explicar cómo puedes crear tus propias directivas en Alpine para encapsular funcionalidades que luego puedes usar fácilmente en tus sitios y aplicaciones web.

Cómo crear directivas personalizadas en Alpine.js

Introducimos el tema de las custom directives en Alpine con un primer ejemplo de directiva sencilla que nos permita entender las generalidades de este modo de extensión de las funcionalidades de la librería.

Añadir a Google Calendar
Cómo usar modificadores en las directivas personalizadas de Alpine

Un segundo ejemplo de directiva personalizada que nos permitirá crear de manera rápida una interfaz de búsqueda en un campo de texto decorado con un icono. Esta directiva nos permitirá aprender a trabajar con modificadores de las directivas, para personalizar su funcionamiento.

Añadir a Google Calendar
Reactividad y otros aspectos del desarrollo de directivas

En este vídeo vamos a profundizar en el desarrollo de custom directives de AlpineJS mostrando diversos aspectos importantes como la gestión de la reactividad, el paso de valores a las directivas y cómo liberar y limpiar los componentes en el caso que las directivas se eliminen del DOM.

Añadir a Google Calendar
Directiva para crear un buscador personalizado

En este último ejemplo de creación de directivas vamos a mostrar un ejemplo que permite implementar un comportamiento genérico de consulta Ajax contra un servicio web, por medio de una directiva personalizada configurable.

Añadir a Google Calendar

Extender Alpine por medio de Magic Properties + Async

En los siguientes ejemplos vamos a ver cómo podemos extender Alpinejs, en este caso mediante la creación de magic properties y magic functions personalizadas. Además veremos cómo gestionar en Alpine comportamientos asíncronos.

Creación de custom magic properties en Alpine

Cómo puedes implementar propiedades mágicas de AlpineJS con tus comportamientos personalizados.

Añadir a Google Calendar
Crear tus magic functions en Alpine.js

Desarrollamos un caso avanzado de magic property creada por nosotros mismos que recibe datos y los transforma (lo que llaman magic function en la documentación)

Añadir a Google Calendar
Alpine Async

Cómo usar funciones asíncronas en los lugares que Alpine espera una función síncrona. Como crear nuestras propias promesas y gestionarlas con Alpine.

Añadir a Google Calendar
Async en Alpinejs, ejemplo con fetch

Un segundo ejemplo de gestión de comportamiento asíncrono con un código de acceso a Ajax por fetch.

Añadir a Google Calendar

Cómo crear plugins en Alpine

Para acabar este curso de Alpine.js vamos a mostrar cómo podemos crear nuestros propios plugins. Conoceremos las generalidades del desarrollo de plugins y luego publicaremos un plugin en npm para compartirlo con la comunidad de usuarios de Alpine. Por último veremos cómo producir el plugin para distribución, cómo documentarlo y cómo usarlo tanto por medio de un CDN como por medio de proyectos en los que trabajaremos con módulos js y bundelización del código.

Cómo crear tus propios plugins en Alpine

Explicamos generalidades del desarrollo de tus propios plugins en Alpine.

Añadir a Google Calendar
Cómo crear un plugin y publicarlo en npm

En este segundo vídeo del bloque de plugins comenzaremos un proyecto de plugin con Alpine. Explicaremos cómo podemos crear un plugin y luego ponerlo a disposición de la comunidad. Cómo producir los archivos para producción realizando un build y cómo se publicará en GitHub y luego en npm.

Añadir a Google Calendar
Cómo usar AlpineJS mediante módulos ESM

Cómo usar Alpine instalando vía npm en un proyecto donde pretendas usar transpilación y bundelizado del código. Además veremos cómo podemos usar nuestro propio plugin, de modo que verificaremos que está correctamente publicado y usable en cualquier proyecto Javascript. Trabajaremos con Vite en un proyecto frontend creado desde cero.

Añadir a Google Calendar
Cómo usar nuestro propio plugin instalando vía CDN

Cómo se instala el plugin de Alpine.js, que hemos desarrollado y publicado en npm durante el curso. Sin embargo ahora realizamos el en otros proyectos vía CDN.

Añadir a Google Calendar
¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete