I gdy budujesz apke React dodając do niej Tailwind CSS, to po kilku miesiącach nie działa już poprawnie, wszystko się rozsypuje.
Ale w jaki konkretnie sposób Svelte temu zapobiega? Aplikacje oparte na Tailwindzie to syf, bo ludzie nie wiedzą jak go używać poprawnie. Tailwind ma sens pod warunkiem, że użyje się go do implementacji design systemu i porobi "techniczne" komponenty (Button, TextField, etc.).
Jak już mamy te techniczne komponenty, to można zacząć budować komponenty biznesowe (np. CreateButton). Te komponenty biznesowe mogą mieć kilka warstw, np. jeśli aplikacja ma jakieś dane słownikowe zarządzane przez użytkowników, to możemy mieć dodatkowo komponent CreateDictionaryItemButton używający pod spodem komponentu CreateButton, który z kolei używa pod spodem technicznego komponentu Button.
Innymi słowy, za każdym razem, gdy używamy jakiejś klasy z Tailwinda, powinniśmy się zastanowić, czy ta klasa może być użyta gdzieś indziej w podobnym kontekście, i jeśli tak, to jest to znak, że potrzebujemy nowego komponentu. Oczywiście można zastosować podejście pośrednie, tj. tworzyć komponenty dopiero wtedy, gdy dany styl jest już używany w dwóch miejscach, ale w praktyce prowadzi to właśnie do wspomninego problemu, tj. braku spójności, bo ludzie zamiast stworzyć nowy komponent i zmodyfikować istniejący kod (co jest oczywiście bardziej ryzykowne), po prostu użyją bezpośrednio klasy z Tailwinda.
Ale wiadomo React należy do Marka Zuckerberga i facebook i prawie wszyscy go promują.
Dla jednych będzie to zaleta, dla innych wada. Zuckerberg to zły człowiek, nie chce dobrze dla ludzkości.