Verso il 2024, vale la pena provare Tailwind CSS?

Prova a utilizzare Tailwind CSS entro il 2024 ne vale la pena?

Questo articolo è stato originariamente pubblicato su .cult da Luis Minvielle. .cult è una piattaforma community con sede a Berlino per sviluppatori. Scriviamo di tutto ciò che riguarda la carriera, realizziamo documentari originali e condividiamo un sacco di storie inedite di sviluppatori da tutto il mondo.

Gli sviluppatori che finalmente trovano un lavoro facendo ciò che amano – il coding – spesso affrontano un rompicapo: programmare per vivere è fantastico, certo, ma diventa altrettanto affascinante quando ti ritrovi a fare sempre la stessa cosa? Perché, capiamo: si dice che scrivere CSS sia divertente, ma prova a farlo ripetutamente.

Fortunatamente, gli sviluppatori web continuano a creare strumenti e framework che rendono le attività quotidiane meno problematiche. Uno strumento che recentemente ha guadagnato molta attenzione è Tailwind CSS.

Il suo approccio alla creazione di interfacce utente promuove un framework CSS utility-first che ti consente di stilizzare facilmente i tuoi siti web senza la necessità di scrivere codice CSS personalizzato. Questo preferito su GitHub, open-source, fornisce un set di classi di utilità predefinite che puoi applicare direttamente nel tuo codice HTML per ottenere stili e layout diversi in qualsiasi design. Suona promettente se non vuoi più chiederti se ti piaceva veramente programmare in primo luogo.

Ma, vale ancora la pena provarlo nel 2024? Approfondiamo i dettagli ed esploriamo le sue caratteristiche, vantaggi, svantaggi e come sia ancora valido per gli sviluppatori oggi.

Cos’è Tailwind CSS?

Tailwind CSS è un framework CSS utility-first che fornisce un set completo di classi predefinite per velocizzare il processo di sviluppo. A differenza dei tradizionali framework CSS che includono componenti e stili predefiniti, Tailwind CSS si concentra nel fornire piccole classi di utilità a scopo singolo che possono essere combinate per creare stili personalizzati, offrendo maggiore flessibilità e controllo sull’aspetto di un sito web. I web designer online lo hanno definito un framework CSS snello e basato sull’utilità, pensato per lo sviluppo rapido di interfacce utente.

Il team dietro Tailwind CSS sta costantemente aggiungendo funzionalità ed ha recentemente lanciato il suo compilatore Just-In-Time (JIT) per ottenere tempi di compilazione velocissimi. Ciò significa che lo strumento risparmia tempo su due fronti: risparmia il tuo tempo e il tempo di chi si trova dietro lo schermo (senza mettere a prova la sua pazienza).

Gli sviluppatori possono combinare queste classi per creare componenti e layout. Ad esempio, puoi definire il colore del testo, il colore di sfondo, il padding, il margine e altro semplicemente aggiungendo classi ai tuoi elementi HTML. Questo approccio modulare rende facile personalizzare e scalare i tuoi design senza dover scrivere CSS personalizzato e ripetitivo (contrariamente a Bootstrap, che mira a fornire un aspetto e una sensazione familiari e coerenti in diversi progetti).

Chi utilizza Tailwind CSS nel 2023? Per cosa è ottimo?

Anche se alcuni canali YouTube hanno recentemente criticato questo framework per essere troppo artificioso, Tailwind CSS è tutto tranne che una moda passeggera. Nel 2023, queste organizzazioni utilizzano Tailwind CSS per i loro siti:

  • Der Spiegel
  • OpenAI e ChatGPT (speriamo che abbiano ottenuto le royalties in questo caso)
  • Shopify
  • Loom
  • The ENBLE
  • Microssoft .NET’s marketing site (un po’ divertente)

Inoltre, secondo analisi di settore, oltre 400 aziende, alcune ancora più orientate alla tecnologia rispetto alla lista sopra, utilizzano Tailwind CSS. L’adozione da parte di diverse aziende suggerisce due cose: in primo luogo, il framework può soddisfare diverse esigenze, dai siti media alle piattaforme di e-commerce. In secondo luogo, la sua adozione da parte di queste grandi aziende del settore indica un livello di precisione che potrebbe non essere adatto ai principianti. Dal punto di vista del frontend, il fatto che OpenAI lo stia utilizzando sottolinea quanto il versatile e rispettato Tailwind CSS sia nel 2023, ma suggerisce anche una curva di apprendimento più ripida.

Il fatto che questo toolkit sia pensato per sviluppatori di livello medio è già evidente. Tuttavia, a causa della sua ampia accettazione, può essere difficile individuare l’applicazione specifica di Tailwind. È particolarmente adatto per il commercio elettronico? O per i siti di marketing? Non è ovvio, sembra un istrumento versatile. E questo è positivo.

Integrazioni

Tailwind CSS si integra senza problemi con vari framework e strumenti frontend. Si abbina bene a popolari framework JavaScript come React, Vue.js e Angular. Inoltre, Tailwind CSS può essere facilmente integrato in strumenti di compilazione come Webpack e PostCSS, garantendo un flusso di lavoro di sviluppo fluido e siti più leggeri. Il seguente frammento di codice React dovrebbe renderizzare un pulsante blu con testo bianco quando viene incluso in un’app React che, beh, ha anche una configurazione di Tailwind CSS.

Codice Tailwind

Vantaggi di Tailwind CSS nel 2024

Tailwind CSS offre diversi vantaggi che lo rendono una scelta convincente per gli sviluppatori nel 2024:

  • Design responsivo: Innanzitutto, offre un approccio altamente personalizzabile attraverso il file tailwind.config.js, consentendo agli sviluppatori di definire colori, breakpoint, font e molto altro.
  • Coerenza: Con il suo sistema di design unificato, Tailwind garantisce coerenza complessiva nell’aspetto frontend di tutte le pagine e mantiene un design coerente.
  • Sviluppo rapido: Uno dei vantaggi principali di Tailwind CSS è la sua capacità di accelerare lo sviluppo. Sfruttando classi di utilità predefinite, gli sviluppatori possono creare componenti UI rapidamente senza la necessità di CSS personalizzato (ci piacerebbe sapere quanto tempo ti è servito per creare un sito con Tailwind).
  • Il repository Tailwind UI: Tailwind UI è una collezione di frammenti HTML pre-costruiti, completamente responsive e professionalmente progettati, che possono essere utilizzati nei progetti di Tailwind CSS. È gestito dallo stesso team di Tailwind CSS e fornisce una vasta gamma di componenti UI, templates ed esempi che gli sviluppatori possono utilizzare come punto di partenza per i loro progetti di sviluppo web. Tailwind UI mira ad aiutare gli sviluppatori a creare interfacce utente di bell’aspetto e funzionali senza scrivere codice ripetitivo.
  • La modalità JIT: La modalità JIT è un compilatore che genera stili CSS su richiesta durante la creazione dei template, anziché generare tutte le classi in anticipo al momento della creazione iniziale. In modalità JIT, Tailwind analizza i template HTML e genera solo gli stili CSS necessari in base alle classi utilizzate nel markup, garantendo tempi di compilazione più veloci.

Aspetti negativi di Tailwind CSS nel 2023

Nonostante Tailwind CSS offra numerosi vantaggi, ha ricevuto anche alcune critiche:

  • Curva di apprendimento: Per gli sviluppatori che si avvicinano per la prima volta a Tailwind CSS, può esserci una lunga curva di apprendimento mentre si abituano all’approccio basato sulle classi di utilità. Questo potrebbe rallentare lo sviluppo iniziale finché non si acquisisce familiarità.
  • “Limitazione della creatività nel design”: Nonostante Tailwind CSS offra flessibilità, soprattutto rispetto ad altri framework popolari come Bootstrap, alcuni designer e sviluppatori potrebbero trovarlo limitante per design altamente creativi o non convenzionali. Ammetto che questo punto è un po’ sfumato. Sebbene Tailwind sia orientato all’utilizzo di classi di utilità, non limita la creatività nel design. È sufficientemente flessibile per consentire agli sviluppatori di creare praticamente qualsiasi cosa. Tuttavia, la sfida potrebbe essere pensare all’interno dei vincoli delle classi di utilità. Si tratta più di adattarsi a una nuova mentalità che di una limitazione effettiva nel design creativo.
  • Dimensioni dei file grandi: Tailwind CSS può generare file CSS voluminosi, il che potrebbe influire sui tempi di caricamento della pagina. È necessaria un’attenta ottimizzazione e tree shaking per mitigare questo problema. Tuttavia, la sua integrazione con PurgeCSS può aiutare gli sviluppatori a ottenere file più piccoli e veloci.

È importante notare che con l’avvento della modalità JIT, le build di sviluppo sono molto più leggere perché vengono generate solo le classi utilizzate al momento.

Tuttavia, molti di questi vantaggi e svantaggi sono relativi. Ecco perché suggeriamo di confrontare Tailwind CSS con altri progetti, come il famoso Bootstrap.

Tailwind CSS vs Bootstrap: Come se la cava?

Quando gli sviluppatori considerano un nuovo strumento di stile, Bootstrap di solito rappresenta il punto di riferimento per il confronto. Un framework basato su componenti, Bootstrap include componenti pronti da usare come modali, pulsanti e navbar. È il “prendi e vai” del mondo CSS, mettendo la velocità e un aspetto unificato in primo piano. Nel 2023, si può subito notare se un sito utilizza le sue lucide icone di Bootstrap.

Tailwind, d’altra parte, adotta un approccio utility-first. Invece di componenti pre-progettati, ottieni classi di utility atomiche. L’idea? Costruisci la tua interfaccia utente pezzo per pezzo, concedendo ai designer e agli sviluppatori maggiore flessibilità. Quindi, se in Bootstrap un pulsante potrebbe essere determinato come <button class=”btn btn-primary”>Bootstrap</button>, in Tailwind sarà:

Codice Tailwind

Questo porta alla questione della personalizzazione. Mentre Bootstrap è personalizzabile utilizzando variabili SCSS, discostarsi significativamente dal suo aspetto predefinito richiede l’override degli stili, portando a una “fatica di Bootstrap” in cui ogni sito sembra stranamente simile.

La personalizzazione, d’altra parte, è il campo di gioco di Tailwind. Il file tailwind.config.js è la tua tela, che consente design su misura. Vuoi una tonalità di blu specifica o un breakpoint unico? Gli sviluppatori possono definirlo molto facilmente. Quindi vai ai tuoi siti di selezione colori e mettiti all’opera.

Codice Tailwind

Bootstrap, con la sua natura basata su componenti ben documentati, spesso serve come primo punto di riferimento per gli appassionati di CSS alle prime armi. I suoi componenti pronti all’uso, come le navbar responsive, consentono uno sviluppo rapido. Tuttavia, questa comodità a volte contribuisce all’ingrossamento del progetto, con conseguente impatto sulle prestazioni.

Al contrario, Tailwind CSS è come creare con strumenti di precisione. Invece di componenti pre-stilizzati, ti vengono presentate classi di utility granulari. Ad esempio, con Bootstrap potresti utilizzare una singola classe per un pulsante, mentre in Tailwind definiresti meticolosamente il suo aspetto con una combinazione di utility, come il colore del testo, lo sfondo e il padding. È un sistema che potrebbe sembrare travolgente per i principianti, ma offre agli sviluppatori frontend esperti un livello di controllo senza precedenti. Inoltre, l’integrazione di Tailwind con PurgeCSS aiuta a rimuovere il CSS inutilizzato per una compilazione economica e rapida.

In sostanza, mentre Bootstrap è progettato per design rapidi e uniformi, Tailwind è ottimo per gli sviluppatori esperti che cercano precisione nei loro design. Entrambi sono scelte legittime nel 2023.

Un vero caso d’uso per Tailwind CSS nel 2023

Grazie alla testimonianza di un esperto di frontend, possiamo analizzare un caso d’uso in cui Tailwind CSS ha aiutato le più personalizzabili delle attività online: un SaaS. Durante la creazione di NodCards, una piattaforma di biglietti da visita digitali, lo sviluppatore si è trovato di fronte a una sfida: consentire agli utenti di selezionare dinamicamente qualsiasi colore di design principale per i loro biglietti. Questa scelta doveva essere incorporata senza modificare il markup o il foglio di stile del sito web.

Tailwind CSS, in combinazione con il suo compilatore JIT (vai al sito ufficiale di Tailwind per scoprire come attivarlo), ha presentato allo sviluppatore una soluzione alternativa. Tuttavia, l’applicazione del colore dinamico non è stata semplice. Invece di affidarsi esclusivamente alle classi di utilità di Tailwind, lo sviluppatore ha utilizzato il potere delle variabili CSS e delle funzioni di supporto.

Codice Tailwind

Questa funzione di supporto converte un colore HEX in RGB, il che aiuta a creare variabili CSS per il colore principale dinamico. Una volta convertiti, questi valori RGB vengono integrati con Tailwind CSS per produrre sfumature varie, garantendo flessibilità con sovrapposizioni di opacità. Ad esempio, il colore del testo per il nome dell’utente può essere impostato in modo dinamico:

Codice Tailwind

In modo simile, i pulsanti possono essere stilizzati per utilizzare il colore principale con opacità variabili e adattarsi anche alle considerazioni di accessibilità al passaggio del mouse:

Codice Tailwind

Con Tailwind CSS, NodCards è riuscito a offrire agli utenti la flessibilità di personalizzare dinamicamente il design delle loro carte, garantendo al contempo estetica, accessibilità e un sito agile.

Quindi, in conclusione

Come si può vedere attraverso il punto di vista di siti di alto profilo e casi d’uso reali, è chiaro che Tailwind CSS è più di una semplice tendenza passeggera. Se sei ancora indeciso se adottarlo o meno, ricorda che l’abilità spesso inizia con l’esperimento. Quindi, immergiti, sporcati le mani con Tailwind e lascia che le tue creazioni parlino da sole.