Skip to content

Why UnoCSS?

Motivations

Odporúčame vám prečítať si blogový príspevok Reimagine Atomic CSS, ktorý napísal tvorca UnoCSS, Anthony Fu, aby ste získali lepšie pochopenie motivácie za UnoCSS.

How is UnoCSS Different from X?

Windi CSS

UnoCSS bol začatý jedným z členov tímu Windi CSS, s veľkou inšpiráciou z práce, ktorú sme urobili vo Windi CSS. Zatiaľ čo Windi CSS už nie je aktívne udržiavaný (od marca 2023), môžete považovať UnoCSS za "duchovného nástupcu" Windi CSS.

UnoCSS dedí on-demand povahu Windi CSS, režim attributify, skratky, skupiny variantov, režim kompilácie a mnoho ďalšieho. Okrem toho je UnoCSS postavený od základu s maximálnou rozšíriteľnosťou a výkonom na mysli, čo nám umožňuje zaviesť nové funkcie ako ikony v čistom CSS, valueless attributify, tagify, webové fonty atď.

Najdôležitejšie je, že UnoCSS je extrahovaný ako atomický CSS engine, kde všetky funkcie sú voliteľné, čo umožňuje ľahko vytvárať vlastné konvencie, vlastný dizajnový systém a vlastné presety - s kombináciami funkcií, ktoré chcete.

Tailwind CSS

Windi CSS aj UnoCSS čerpali veľa inšpirácie z Tailwind CSS. Keďže UnoCSS je postavený od základu, sme schopní mať skvelý prehľad o tom, ako bol atomický CSS navrhnutý s predchádzajúcimi skúsenosťami a abstrahovaný do elegantného a výkonného API. S celkom odlišnými dizajnovými cieľmi, nie je to úplne porovnateľné s Tailwind CSS. Ale pokúsime sa uviesť niekoľko rozdielov.

Tailwind CSS je PostCSS plugin, zatiaľ čo UnoCSS je izomorfný engine s kolekciou prvotriednych integrácií s build nástrojmi (vrátane PostCSS pluginu). To znamená, že UnoCSS môže byť oveľa flexibilnejší na použitie na rôznych miestach (napríklad CDN Runtime, ktorý generuje CSS za behu) a má hlboké integrácie s build nástrojmi na poskytnutie lepšieho HMR, výkonu a vývojárskeho zážitku (napríklad Inspector).

Technické kompromisy stranou, UnoCSS je tiež navrhnutý tak, aby bol plne rozšíriteľný a prispôsobiteľný, zatiaľ čo Tailwind CSS je viac názorový. Budovanie vlastného dizajnového systému (alebo dizajnových tokenov) na základe Tailwind CSS môže byť náročné a nemôžete sa naozaj vzdať konvencií Tailwind CSS. S UnoCSS môžete postaviť prakticky čokoľvek chcete s plnou kontrolou. Napríklad sme implementovali celý Tailwind CSS kompatibilný utility v rámci jediného presetu a existuje mnoho úžasných komunitných presetov implementovaných s inými zaujímavými filozofiami.

Vďaka flexibilite, ktorú UnoCSS poskytuje, sme schopní experimentovať s mnohými inovatívnymi funkciami na jeho základe, napríklad:

Kvôli odlišným dizajnovým cieľom oproti Tailwind CSS, UnoCSS nepodporuje plugin systém ani konfigurácie Tailwind CSS, čo znamená, že môže byť náročnejšie migrovať z ťažko prispôsobeného projektu Tailwind CSS. Toto je zámerne rozhodnutie, aby bol UnoCSS vysoko výkonný a rozšíriteľný, a veríme, že tento kompromis stojí za to.

Released under the MIT License.