DEV Community

Ítalo Epifânio
Ítalo Epifânio

Posted on

Uma visão geral sobre Alpine.js + Tailwind

Alpine.js é um framework reativo como o Vue e o React só que com um custo mínimo, zipado o alpine ocupa 4Kb. Para quem programa e utiliza Vue a sintaxe é praticamente a mesma, como o próprio autor aponta na documentação.

Recentemente comecei a trabalhar com o Tailwind, um framework css de "baixo nível" que utiliza classes como açucar sintático para o puro css. A primeira coisa que pensei quando conheci a ferramenta foi "por que alguém se submeteria a escrever tanta coisa no html?", veja, o código parece sujo no começo, mas os componentes pre-desenhados, o esquema de responsividade deles (melhor até que o do bootstrap), além do código estupidamente explicito, me ganhou. As telas realmente são feitas mais rapidamente e eu não tenho mais que parar, ir numa folha de estilo, procurar qual parte do código tá modificando aquilo, caçar se outra folha está sobrescrevendo o estilo, etc.

O Alpine.js é como o tailwind, deixa explícito o que está sendo feito, a curva de aprendizado é muito curta e é ótimo para ser utilizado em conjunto com o Tailwind. Abaixo o código de um simples todo list feito com o micro framework:

No exemplo são utilizados conceitos simples, o x-data="{ items: [], item: '' }" declara um escopo pro componente, como se fosse uma variável. O x-for cria o dom dinamicamente iterando sobre a variável items. O x-model conecta as modificações do input com a variável item e o @click ativa o evento que insere um valor no item.

Eu realmente estou gostando de trabalhar com ambas as ferramentas e acho que ambas me tiraram da zona de conforto das camadas de abstrações que outros frameworks oferecem, então você realmente aprende css e js utilizando o alpine + tailwind. O projeto que me fez conhecer essas tecnologias utiliza o Laravel (framework PHP) com o Livewire (uma abstração do laravel que componentiza código PHP), tailwind e alpine js, uma stack para ser comentada em outros posts.

Top comments (1)

Collapse
 
muriloeduardo profile image
Murilo Eduardo dos Santos

Salve Ítalo,
também estou tentando criar aplicações Laravel
estranhei um pouco não usar mais Vue js, mas vou ter que ver como funciona essa alpine.
Excelente post!