Tailwind'in sunduğu şey geliştiriciye hızlı prototipleme şansı sunmak, ama bunu yaparken HTML 'i okumanı engelliyor. Çorba gibi bir HTML karşına çıkıyor. Geliştirme yaparken her zaman code-splitting 'in önemi karşınıza çıkar ve TailwindCSS bunu yok eder. v3 'e göz gezdirmiştim ahım şahım bi' ekstra göremedim v2 'den.
Purge'ün amacı zaten kullanmadığın bir componenti silmektir, kullanmadığınız bir property'e gelince; bu zaten Tailwind'in yapması zorunlu olan bir şey, ek bir özelliği değil. 10 stili tek bir classta birleştirmek varken html'e gömerseniz, aynı butonu farklı bir yerde kullanacağınızda aklınızdan class yazabilme şansınızı kaybedersiniz. Tekrar tekrar aynı classları kopyala yapıştır yaparsınız, ki tekrar söylüyorum bu da kodu kirletir.
Diyeceksin ki, butonu tekrar tekrar yapıyorsam @apply 'ımız var, onu kullanırım. Böyle yapınca da Tailwind'in bi özelliği kalmıyor
Birbirini tekrarlayan nesneler için `@apply` kullanılabilir. Örneğin WordPress için bir tema geliştirirken bu özelliği kullanmaya mecbursunuz. Bu özelliği kullanmak kesinlikle diğerleri ile aynı yapmaz. Tailwind CSS ile tamamen özgürsünüz. Ayrıca, zaten Laravel, Next.js, Vue, vb. kütüphaneler üzerinde kullanırken direk olarak nesneleri component olarak oluşturduğunuz için böyle bir sorun da kalmıyor.
Bonus olarak; Tailwind CSS'in bu tür nesneler için oluşturduğu plugin'ler de var. Örneğin:
@tailwindcss/forms.