Skip to content

Why UnoCSS?

Motivations

UnoCSS'in yaratıcısı Anthony Fu tarafından yazılan Reimagine Atomic CSS blog yazısını okumanızı öneririz, UnoCSS'in arkasındaki motivasyonu daha iyi anlamak için.

How is UnoCSS Different from X?

Windi CSS

UnoCSS, Windi CSS ekibinin üyelerinden biri tarafından başlatıldı ve Windi CSS'te yaptığımız işten çok ilham aldık. Windi CSS artık aktif olarak bakımı yapılmadığından (Mart 2023 itibarıyla), UnoCSS'i Windi CSS'in "manevi halefi" olarak düşünebilirsiniz.

UnoCSS, Windi CSS'in talep üzerine doğası, attributify modu, kısayollar, varyant grupları, derleme modu ve çok daha fazlasını miras alır. Buna ek olarak, UnoCSS maksimum genişletilebilirlik ve performans göz önünde bulundurularak sıfırdan inşa edilmiştir, bu da saf CSS simgeleri, değersiz attributify, tagify, web fontları gibi yeni özellikler sunmamızı sağlar.

En önemlisi, UnoCSS bir atomik CSS motoru olarak çıkarılmıştır, burada tüm özellikler isteğe bağlıdır ve istediğiniz özelliklerin kombinasyonlarıyla kendi kurallarınızı, kendi tasarım sisteminizi ve kendi preset'lerinizi oluşturmayı kolaylaştırır.

Tailwind CSS

Hem Windi CSS hem de UnoCSS Tailwind CSS'ten çok ilham aldı. UnoCSS sıfırdan inşa edildiğinden, atomik CSS'in önceki sanatlarla nasıl tasarlandığına ve zarif ve güçlü bir API'ye nasıl soyutlandığına dair harika bir genel bakışa sahibiz. Oldukça farklı tasarım hedefleriyle, Tailwind CSS ile gerçekten elma-elma karşılaştırması değildir. Ancak birkaç farkı listelemeye çalışacağız.

Tailwind CSS bir PostCSS eklentisidir, UnoCSS ise yapı araçlarıyla birinci sınıf entegrasyonlar koleksiyonuna sahip izomorfik bir motordur (bir PostCSS eklentisi dahil). Bu, UnoCSS'in farklı yerlerde kullanılmak için çok daha esnek olabileceği anlamına gelir (örneğin, CSS'i anında oluşturan CDN Runtime) ve daha iyi HMR, performans ve geliştirici deneyimi sağlamak için yapı araçlarıyla derin entegrasyonlara sahiptir (örneğin, Inspector).

Teknik ödünleşmeler bir yana, UnoCSS tamamen genişletilebilir ve özelleştirilebilir olacak şekilde tasarlanmıştır, Tailwind CSS ise daha fikir beyan edicidir. Tailwind CSS üzerine özel bir tasarım sistemi (veya tasarım token'ları) oluşturmak zor olabilir ve Tailwind CSS'in kurallarından gerçekten uzaklaşamazsınız. UnoCSS ile, tam kontrolle neredeyse istediğiniz her şeyi oluşturabilirsiniz. Örneğin, tek bir preset içinde tüm Tailwind CSS uyumlu yardımcı programları uyguladık ve diğer ilginç felsefelerle uygulanmış birçok harika topluluk preset'i var.

UnoCSS'in sağladığı esneklik sayesinde, üzerinde birçok yenilikçi özelliği deneyebiliriz, örneğin:

Tailwind CSS üzerindeki farklı tasarım hedefleri nedeniyle, UnoCSS Tailwind CSS'in eklenti sistemini veya yapılandırmalarını desteklemez, bu da yoğun şekilde özelleştirilmiş bir Tailwind CSS projesinden geçişi daha zor hale getirebilir. Bu, UnoCSS'i yüksek performanslı ve genişletilebilir kılmak için kasıtlı bir karardır ve ödünleşmenin buna değdiğine inanıyoruz.

Released under the MIT License.