Herkesin Tailwind CSS v4 Hakkında Tartışmasının Gerçek Nedeni
Tailwind CSS v4 tartışması her yerde. Çoğu insan yanlış şey üzerine tartışıyor.
Asıl soru utility class'lar ile inline stiller arasındaki fark değil. Asıl soru, stilinizin nerede yaşadığı ve zihinsel maliyetini kimin üstlendiğidir.
Tailwind v4, konfigürasyonu CSS dosyanıza taşıyor. Bir JavaScript konfigürasyon dosyası yerine @theme kullanıyorsunuz. Bu, iş akışlarını daha temiz hale getiriyor.
Ancak dramın sebebi bu değil. Dram, v4'ün iki farklı deseni (pattern) nasıl daha kolay kullanılabilir hale getirmesinden kaynaklanıyor.
Desen 1: Bileşenlerinizdeki utility class'lar. Sınıfları doğrudan HTML veya JSX içinde yazarsınız. Bu, bir öğenin tam olarak nasıl göründüğünü size söyler.
Desen 2: @apply yaklaşımı.
Bir CSS dosyasında .alert veya .alert--error gibi semantik sınıflar oluşturursunuz. Bu, bir öğenin ne olduğunu size söyler.
Her iki yöntem de çalışır. Hiçbiri yanlış değildir. Farklı felsefeleri takip ederler.
Grup A, co-location (aynı yerde konumlandırma) yaklaşımına inanır. Her şey tek bir yerde kalır. Grup B ise semantik isimlere inanır. Amacı tanımlayan isimler isterler.
Bir tasarımcı hata rengini kırmızıdan turuncuya değiştirdiğinde, Grup A kod dosyalarını tarar. Grup B ise bir CSS dosyasındaki tek bir satırı değiştirir.
Tailwind v4, @apply kullanımını daha doğal hissettiriyor. Bu da gerilimi artırıyor.
Ekip büyüklüğünüze göre nasıl seçim yapacağınıza dair ipuçları:
Küçük ekipler: Utility class'ları kullanın. Sınıflara isim vermek için zaman harcamanıza gerek kalmaz. Herkes aynı dosyalar üzerinde çalıştığında daha hızlı hareket edersiniz.
Bileşen kütüphaneleri:
@applyveya CSS değişkenlerini kullanın. Kullanıcılarınızın dahili tasarım token'larınızı bilmesine gerek olmamalıdır.Büyük şirketler: Hibrit bir model kullanın. Semantik sınıfların yönetimini bir tasarım sistemi ekibine bırakın. Uygulama geliştiricilerinin ise hızlı düzenler (layout) için utility'leri kullanmasına izin verin.
Sırf uzun sınıf dizilerini okumaktan kaçınmak için @apply kullanmayın. Bu bir strateji değil, kaçınmadır.
En yüksek sesle eleştirenler genellikle framework'ten ziyade araçlarıyla savaşırlar. Eğer editörünüzde IntelliSense eksikse veya ekibinizde bir tasarım token sistemi yoksa, iş akışı bozuk hissettirecektir.
Framework'ü suçlamadan önce iş akışınızı düzeltin.
Tailwind v4 güçlü bir sürüm. CSS öncelikli (CSS-first) konfigürasyon daha iyi. Tartışma, sadece ekiplerin net kararlar vermesi gerektiğinin bir işaretidir.
Bir seçim yapın. Bunu belgeleyin. Devam edin.
Sizin ekibinizin yaklaşımı nedir? Utility class'ları mı yoksa @apply'ı mı kullanıyorsunuz?
Kaynak: https://dev.to/enjoy_kumawat/the-real-reason-everyones-fighting-about-tailwind-css-v4-4o0g