De Ce UnoCSS?
Motivații
Vă recomandăm să citiți articolul Reimagine Atomic CSS scris de creatorul UnoCSS, Anthony Fu, pentru a obține o înțelegere mai bună a motivației din spatele UnoCSS.
Cum diferă UnoCSS de X?
Windi CSS
UnoCSS a fost inițiat de unul dintre membrii echipei Windi CSS, cu multă inspirație din munca pe care am făcut-o în Windi CSS. În timp ce Windi CSS nu mai este întreținut activ (din martie 2023), puteți considera UnoCSS ca un "succesor spiritual" al Windi CSS.
UnoCSS moștenește natura on-demand a Windi CSS, modul attributify, prescurtările, grupurile de variante, modul de compilare și multe altele. Pe lângă aceasta, UnoCSS este construit de la zero cu extensibilitatea și performanța maximă în minte, făcându-ne capabili să introducem funcții noi precum icoane CSS pure, attributify fără valoare, tagify, fonturi web, etc.
Cel mai important, UnoCSS este extras ca un motor CSS atomic, unde toate funcțiile sunt opționale, și face ușor să vă creați propriile convenții, propriul sistem de design și propriile preset-uri - cu combinațiile de funcții pe care le doriți.
Tailwind CSS
Atât Windi CSS, cât și UnoCSS au luat multă inspirație din Tailwind CSS. Deoarece UnoCSS este construit de la zero, suntem capabili să avem o vedere de ansamblu excelentă despre cum a fost proiectat CSS-ul atomic cu arta precedentă și abstractizat într-o API elegantă și puternică. Cu obiective de proiectare destul de diferite, nu este cu adevărat o comparație de la egal la egal cu Tailwind CSS. Dar vom încerca să listăm câteva diferențe.
Tailwind CSS este un plugin PostCSS, în timp ce UnoCSS este un motor izomorf cu o colecție de integrări de primă clasă cu instrumente de build (inclusiv un plugin PostCSS). Aceasta înseamnă că UnoCSS poate fi mult mai flexibil pentru a fi utilizat în diferite locuri (de exemplu, Runtime CDN, care generează CSS din mers) și are integrări profunde cu instrumentele de build pentru a oferi o experiență mai bună de HMR, performanță și dezvoltator (de exemplu, Inspector).
Dincolo de compromisurile tehnice, UnoCSS este, de asemenea, conceput pentru a fi complet extensibil și personalizabil, în timp ce Tailwind CSS este mai opinionat. Construirea unui sistem de design personalizat (sau token-uri de design) pe baza Tailwind CSS poate fi dificilă, și nu puteți cu adevărat să vă îndepărtați de convențiile Tailwind CSS. Cu UnoCSS, puteți construi aproape orice doriți cu control complet. De exemplu, am implementat întreaga utilități compatibile Tailwind CSS într-un singur preset, și există multe preset-uri comunitare extraordinare implementate cu alte filozofii interesante.
Datorită flexibilității pe care o oferă UnoCSS, suntem capabili să experimentăm multe funcții inovatoare pe baza acestuia, de exemplu:
Din cauza obiectivelor de proiectare diferite față de Tailwind CSS, UnoCSS nu suportă sistemul de plugin-uri sau configurările Tailwind CSS, ceea ce ar putea face mai dificilă migrarea de la un proiect Tailwind CSS puternic personalizat. Aceasta este decizia intenționată pentru a face UnoCSS de înaltă performanță și extensibilă, și credem că compromisul merită.