Skip to content

Perché UnoCSS?

Motivazioni

Ti consigliamo di leggere il post del blog Reimagine Atomic CSS scritto dal creatore di UnoCSS, Anthony Fu, per ottenere una migliore comprensione della motivazione dietro UnoCSS.

In che modo UnoCSS è diverso da X?

Windi CSS

UnoCSS è stato avviato da uno dei membri del team di Windi CSS, con molta ispirazione presa dal lavoro che abbiamo fatto in Windi CSS. Mentre Windi CSS non è più attivamente mantenuto (a partire da marzo 2023), puoi considerare UnoCSS come un "successore spirituale" di Windi CSS.

UnoCSS eredita la natura on-demand di Windi CSS, la modalità attributify, le scorciatoie, i gruppi di varianti, la modalità di compilazione e molto altro ancora. Inoltre, UnoCSS è costruito da zero con la massima estensibilità e prestazioni in mente, permettendoci di introdurre nuove funzionalità come icone CSS pure, attributify senza valore, tagify, web fonts, ecc.

Soprattutto, UnoCSS è estratto come un motore CSS atomico, dove tutte le funzionalità sono opzionali, e rende facile creare le tue convenzioni, il tuo sistema di design e i tuoi preset - con le combinazioni delle funzionalità che desideri.

Tailwind CSS

Sia Windi CSS che UnoCSS hanno preso molta ispirazione da Tailwind CSS. Poiché UnoCSS è costruito da zero, siamo in grado di avere una grande panoramica di come il CSS atomico è stato progettato con opere precedenti e astratto in un'API elegante e potente. Con obiettivi di design piuttosto diversi, non è davvero un confronto diretto con Tailwind CSS. Ma cercheremo di elencare alcune differenze.

Tailwind CSS è un plugin PostCSS, mentre UnoCSS è un motore isomorfo con una raccolta di integrazioni di prima classe con strumenti di build (incluso un plugin PostCSS). Ciò significa che UnoCSS può essere molto più flessibile da usare in luoghi diversi (ad esempio, CDN Runtime, che genera CSS al volo) e avere integrazioni profonde con strumenti di build per fornire un migliore HMR, prestazioni ed esperienza dello sviluppatore (ad esempio, l'Ispettore).

A parte i compromessi tecnici, UnoCSS è anche progettato per essere completamente estensibile e personalizzabile, mentre Tailwind CSS è più opinionato. Costruire un sistema di design personalizzato (o design tokens) su Tailwind CSS può essere difficile, e non puoi davvero allontanarti dalle convenzioni di Tailwind CSS. Con UnoCSS, puoi costruire praticamente tutto ciò che vuoi con il pieno controllo. Ad esempio, abbiamo implementato tutte le utility compatibili con Tailwind CSS all'interno di un singolo preset, e ci sono molti fantastici preset della comunità implementati con altre filosofie interessanti.

Grazie alla flessibilità che UnoCSS fornisce, siamo in grado di sperimentare molte funzionalità innovative su di esso, ad esempio:

A causa degli obiettivi di design diversi rispetto a Tailwind CSS, UnoCSS non supporta il sistema di plugin o le configurazioni di Tailwind CSS, il che significa che potrebbe rendere più difficile la migrazione da un progetto Tailwind CSS pesantemente personalizzato. Questa è la decisione intenzionale per rendere UnoCSS ad alte prestazioni ed estensibile, e crediamo che il compromesso ne valga la pena.

Released under the MIT License.