LESS? — мнение обывателя-верстальщика или дизайнера со стажем

в 10:35, , рубрики: css, less, web

Приветствую всех! Меня зовут Сергей, я живу в Самаре, мне 37 и я бородат, но только тогда, когда сила созидания побеждает во мне все остальные физиологические процессы… Сегодня я поделюсь с вами своим опытом практического использования LESS. Что уж говорить, LESS моден и, как известно, в IT среде используется всеми, кому не лень… иногда даже вопреки здравому смыслу.

Что же такое LESS? Less — язык! Но язык ли это? Говоря словами обывателя-верстальщика: пишем некий код, компилируем его, а на выходе получаем все тот же CSS.
… и тут мне почему-то сразу вспомнилось выражение коллеги-программиста Феди, с которым мы в шутку каждый раз испытываем мировоззрения друг друга. Так вот, он говорил: «Долой рюшечки! Вперед функционал!» Понятно, что для дизайнера эти слова — просто «ножом по сердцу».

Но мы немного отвлеклись и, в общем, суть не в этом.

Итак, Less.

Less расширяет возможности CSS, поскольку позволяет задавать переменные, примешивания и т.д.
– Так?
Ну, то есть каждый сейчас согласился со мной?
… так и слышу миллионный хор.
Но по факту решение имеет и минусы.

image

Многие сторонники языка говорят, например, о таком использовании.

Пример:

Less

Задаем переменную цвета:

@base_color: #ccc;

Дальше используем ее в элементах:

p {
 color: @base_color;
}
span {
 background-color: @base_color;
}

С точки зрения сторонников языка это удобно: чтобы поменять цвет всех элементов — изменил цвет в одном месте — и все.

С моей точки зрения — очень спорно:

  • Во-первых, как уже ранее говорил, банально — чтобы изменить цвет уже существующего элемента нужно найти элемент, который нужно поправить, затем найти ту переменную, к которой уже присвоен сам цвет. И таких переменных может быть десяток, и они могут быть все в разных, отдельно подключаемых файлах, число которых, как вы понимаете, также может исчисляться десятками.
  • Во-вторых, аргумент сторонников о том, что удобно: «Изменил в одном месте — поправил все кнопки!» — это для людей, которые не знают или забыли, что такое пакетный реплэйс! Проще, быстрее и надежней найти сразу цвет #ccc и сделать «Replace All».
  • Еще есть мнимое «удобство» less в том, что легко поменять цвет путем сложения или вычитания прямо в коде, но это опять же в кавычках — поскольку если у человека под рукой графический редактор + если он давно занимается версткой и знает наизусть основные коды цветов — ему не нужно ничего прибавлять или убавлять — он сразу прописывает код.
Казалось бы, плюсы?

Вот где действительно есть плюсы (как мне изначально показалось), так это в примешивании, когда в одну переменную задается огромное количество параметров (например, вендорные свойства а-ля

-webkit-border-radius

...), а потом эта переменная включается-примешивается внутрь используемых элементов — сильно сокращается код.

Но задам вам вопрос: зачем сокращать код, когда он все-равно компилируясь раскрывается и развертывается до разобранного CSS-состояния? По факту получаем некую прослойку (иногда состоящую из множества файлов) непонятно для чего, которая тормозит поиск параметра, а на окончательный вид кода никак не влияет.

По-настоящему эффективен less может быть если год-два проводить общий рефакторинг кода, тогда да — наверное имеет смысл… Но даже тогда, на первый взгляд настоящие плюсы — на поверку, всего лишь фикция и трата драгоценного времени… Спросите, почему?
Ответ: потому что это не полноценный язык и на выходе мы получаем все те же громоздкие конструкции CSS. То есть как бы мы не пытались сократить или оптимизировать — оптимизируем только прослойку.

Возможно Less вообще — маркетинговый ход, модный тренд, некий тайный сговор для раскрутки языка — часто слышу от программистов (некоторых программистов), что использование less — это банальная заточка проекта под программерское абстрактное мышление. Хотя чем программерское абстрактное мышление отличается от вообще абстрактного мышления или чем лучше оно от абстрактного мышления верстальщика / дизайнера — великая тайна, покрытая мраком.

Как теперь я обозначаю для себя LESS

— инструмент, призванный облегчить работу программиста, если он не умеет верстать. Для верстальщика же — это равносильно: как для бегуна одеть вместо кроссовок калоши, ничего что постоянно слетают, зато не мокро.

Все, изложенное выше — просто мое мнение, не имеет под собой умысла как-то вмешиваться в процесс разработки фанатов своего дела.
Просто хотелось поделиться своими дизайнерскими буднями, надеюсь, не утомил.

Автор: paint63

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js