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