Инструменты вроде Tailwind могут помочь вам быстрее разработать ваш хобби-проект, но дело в том, что…
В разметке не должно быть никакой логики представления.
Вы должны использовать HTML для описания содержания, иерархии и структуры, а не того, как это выглядит. Вы должны использовать семантические теги HTML, такие как <section>
, <aside>
, <figure>
вместо <div>
. Затем вы стилизуете содержимое, используя классы, соответствующие типу содержимого, например, "testimonials"
вместо "bg-slate-100 rounded-xl p-8 dark:bg-slate-800"
.
Именно поэтому из HTML убрали кучу презентационных тегов, таких как <font>
, <center>
и т.д. Ваш сайт должен быть читабельным даже без единой строчки CSS/JS, только с помощью правильно структурированного HTML. Я рекомендую всем провести исследование таких вещей, как прогрессивное улучшение и грациозная деградация.
Преимущества
Использование HTML и CSS в том виде, в котором они предназначены для использования, имеет массу преимуществ.
- Более доступный веб-сайт,
- лучшее SEO,
- повышение производительности благодаря меньшему размеру HTML/CSS и кэшированию,
- и вы потенциально можете избежать юридических проблем в будущем.
Но… Это сложно
То, что что-то проще, не означает, что это правильный способ сделать это.
Я понимаю, что анализировать тип контента, правильно его называть — это умственная нагрузка. Но наша работа, как разработчиков, заключается именно в этом. Перевести бизнес-требования и знания домена в код, без двусмысленности и потери контекста.
Для некоторых может быть трудно выучить CSS. Альтернатива? Каждую неделю мы изучаем новый фреймворк, инструмент, библиотеку, утилиту. Изучение и освоение CSS не может быть намного сложнее.
Заключение
Tailwind может отлично подойти для хобби или POC-проектов. Но для корпоративных проектов, которые имеют тенденцию к масштабированию, ванильный HTML/CSS — это то, что нужно.
HTML и CSS не идеальны, но я бы предпочел улучшить существующие решения, а не придумывать новые, блестящие плохие инструменты, которые пытаются решить ту самую проблему, которую они создают.