Переменные
Вложенности
Миксины
Наследование
Операторы
Тихие’ placeholder
Циклы
Функции
Осветление и затемнение цветов
Числа(сложения, вычитания)
Карты
Использую sass в текущем проекте (исторически был выбран именно sass, сегодня я бы выбрал less из-за простоты интеграции с инструментами из nodejs экосистемы).
Использовать стоит
- переменные - годная вещь. Особенно когда пара значений css свойств зависят от одинакового значения.
- вложенность - очень редко. Лучше всего - BEM + максимум 1 уровень вложенности. Модифицировать и понимать код с 3+ уровнями вложенности крайне сложно.
- миксины - только для решения задач обратной совместимости (считай работа с префиксами).
- наследование - в 99% не нужно. Может понадобиться только в маленьком проекте где не хочется заморачиваться с БЕМ.
- операторы - только для работы с SASS переменными
Тихие’ placeholder
Даже не знаю про такую штуку.
- Циклы, Функции - не нужны. Только если ты собираешься создавать свой фреймверк. На прикладном уровне только усложняют понимание кода.
- Осветление и затемнение цветов - только когда нет четких дизайнов. Например когда ты пилишь админку.
- Числа(сложения, вычитания) - только с переменными
- Карты - могут стать проблемой с производительностью. Я бы их использовать стал только в маленьком проекте.
Подводя итог: мое мнение что от css предпроцессоров нужно только:
- переменные и операции с ними.
- вложенность (на 1, 2 максимум уровней).
- миксины для решения проблемы кроссбраузерных префиксных свойств.
Только их - в 99% случаев в работе можно ограничиться ими
Еще посоветую от себя посмотреть либу Compas для Sass - есть оч полезные возможности как например генерировать спрайты “налету” и дает к нему файл стилей с классами - он компилирует из обрезков спрайт, еще в нем есть usefull параметры - отступы между обрезками в спрайте, расположение обрезков (по диагонали, по вертикали/горизонтали)
pitline, спасибо Вам!
dmitry, спасибо Вам, за такой развернутый ответ! БЭМ, я использую очень удобно. Еще вчера проходил собеседование, сказали, что с верстальщика стать JS разработчиком не реально)
Остальное для меня экзотика, которая только добавляет энтропии в процесс разработки. Никогда не использую миксины (не считая удобной обертки для медиа-запросов), extend
только для placeholder
’ов.
Глупость. Если JS разработчиками умудряются стать из проектных менеджеров и тестировщиков, то с верстальщиков и подавно. Дело только в желании и упорстве — перед ними все покоряется.
Да, вы правы спасибо!
Пфффф… Весь мой бывший тим верстальщиков, включая меня, сейчас джесеры. Было бы желание, а все остальное приложится))
Да это так!
Поддерживаю. Я тоже начал программировать после верстки.
Такой вопрос, на сколько критично в JS и его фрейморках, не знания алгоритмов(сортировки, стеки и очереди, хеш-таблица,динамические массивы) ?
Такой вопрос, на сколько критично в JS и его фрейморках, не знания алгоритмов(сортировки, стеки и очереди, хеш-таблица,динамические массивы) ?
Не надо дублировать вопросы. Если хочешь обратиться к конкретным людям, их можно упоминать через @
, @Polyakh.
Любую задачу можно решить без знания агоритмов и структур данных. Но. Когда задают вопросы про алгоритмы, структуры данных и сложности алгритмов, то проверяют наличие концептуальных знаний или высшего образования по. Без этих знаний средней сложности и большой сложности программы (например gmail) будут неэффективны.
Так как ты начинаешь, если я верно понял, то твоей первостепенной задачей стоит научиться добиваться поставленных целей (отобразить попап, организовать работу галереи). Потом надо научиться организовывать код (классы, и из взаимодействие, подходы написания программ), и только потом алгоритмы и структуры данных.
Спасибо. В верстке я уже постиг все добиваться, что мне нужно. Чтобы быть не последни в этом деле: (отобразить попап, организовать работу галереи), такая работа уже надоела. Сейчас я вот на этом этапе, организовывать код (классы, и из взаимодействие, подходы написания программ). В ближайших планах уйти полностью в JS, как ты и сказал, пока без алгоритмов. Поскольку я хочу делать линдинги на AngularJs. Да и готов оказывать помощь, делиться , что знаю но тока по верстке(
Вот интересная сравнительная статья Less и Sass. Думаю многим тут будет интересна
https://getcrunch.co/2015/10/08/less-the-worlds-most-misunderstood-css-pre-processor/
А что бы ты сказал о Stylus? Есть ли у него какие-то особые преимущества по сравнению с Less? ну кроме необязательных знаков препинания :)
Не пользовался этим парнем. Впервые заглянул в доку только сейчас чтобы ответить. По набору функционала и подхода - как сасс + чуток компаса. И, разумеется, более облегченный синтаксис.