Sass, что самое основное Вы используете в это препроцессоре, я скину список + напротив, что нужно в повседневной разработке?

Переменные
Вложенности
Миксины
Наследование
Операторы
Тихие’ placeholder
Циклы
Функции
Осветление и затемнение цветов
Числа(сложения, вычитания)
Карты

Использую sass в текущем проекте (исторически был выбран именно sass, сегодня я бы выбрал less из-за простоты интеграции с инструментами из nodejs экосистемы).

Использовать стоит

  • переменные - годная вещь. Особенно когда пара значений css свойств зависят от одинакового значения.
  • вложенность - очень редко. Лучше всего - BEM + максимум 1 уровень вложенности. Модифицировать и понимать код с 3+ уровнями вложенности крайне сложно.
  • миксины - только для решения задач обратной совместимости (считай работа с префиксами).
  • наследование - в 99% не нужно. Может понадобиться только в маленьком проекте где не хочется заморачиваться с БЕМ.
  • операторы - только для работы с SASS переменными

Тихие’ placeholder

Даже не знаю про такую штуку.

  • Циклы, Функции - не нужны. Только если ты собираешься создавать свой фреймверк. На прикладном уровне только усложняют понимание кода.
  • Осветление и затемнение цветов - только когда нет четких дизайнов. Например когда ты пилишь админку.
  • Числа(сложения, вычитания) - только с переменными
  • Карты - могут стать проблемой с производительностью. Я бы их использовать стал только в маленьком проекте.

Подводя итог: мое мнение что от css предпроцессоров нужно только:

  • переменные и операции с ними.
  • вложенность (на 1, 2 максимум уровней).
  • миксины для решения проблемы кроссбраузерных префиксных свойств.
1 лайк

Только их - в 99% случаев в работе можно ограничиться ими
Еще посоветую от себя посмотреть либу Compas для Sass - есть оч полезные возможности как например генерировать спрайты “налету” и дает к нему файл стилей с классами - он компилирует из обрезков спрайт, еще в нем есть usefull параметры - отступы между обрезками в спрайте, расположение обрезков (по диагонали, по вертикали/горизонтали)

1 лайк

pitline, спасибо Вам!

dmitry, спасибо Вам, за такой развернутый ответ! БЭМ, я использую очень удобно. Еще вчера проходил собеседование, сказали, что с верстальщика стать JS разработчиком не реально)

Остальное для меня экзотика, которая только добавляет энтропии в процесс разработки. Никогда не использую миксины (не считая удобной обертки для медиа-запросов), extend только для placeholder’ов.

Глупость. Если JS разработчиками умудряются стать из проектных менеджеров и тестировщиков, то с верстальщиков и подавно. Дело только в желании и упорстве — перед ними все покоряется.

3 лайка

Да, вы правы спасибо!

Пфффф… Весь мой бывший тим верстальщиков, включая меня, сейчас джесеры. Было бы желание, а все остальное приложится))

1 лайк

Да это так!

Поддерживаю. Я тоже начал программировать после верстки.

Такой вопрос, на сколько критично в JS и его фрейморках, не знания алгоритмов(сортировки, стеки и очереди, хеш-таблица,динамические массивы) ?

Такой вопрос, на сколько критично в JS и его фрейморках, не знания алгоритмов(сортировки, стеки и очереди, хеш-таблица,динамические массивы) ?

Не надо дублировать вопросы. Если хочешь обратиться к конкретным людям, их можно упоминать через @, @Polyakh.

Любую задачу можно решить без знания агоритмов и структур данных. Но. Когда задают вопросы про алгоритмы, структуры данных и сложности алгритмов, то проверяют наличие концептуальных знаний или высшего образования по. Без этих знаний средней сложности и большой сложности программы (например gmail) будут неэффективны.

Так как ты начинаешь, если я верно понял, то твоей первостепенной задачей стоит научиться добиваться поставленных целей (отобразить попап, организовать работу галереи). Потом надо научиться организовывать код (классы, и из взаимодействие, подходы написания программ), и только потом алгоритмы и структуры данных.

1 лайк

Спасибо. В верстке я уже постиг все добиваться, что мне нужно. Чтобы быть не последни в этом деле: (отобразить попап, организовать работу галереи), такая работа уже надоела. Сейчас я вот на этом этапе, организовывать код (классы, и из взаимодействие, подходы написания программ). В ближайших планах уйти полностью в JS, как ты и сказал, пока без алгоритмов. Поскольку я хочу делать линдинги на AngularJs. Да и готов оказывать помощь, делиться , что знаю но тока по верстке(

Вот интересная сравнительная статья Less и Sass. Думаю многим тут будет интересна
https://getcrunch.co/2015/10/08/less-the-worlds-most-misunderstood-css-pre-processor/

2 лайка

А что бы ты сказал о Stylus? Есть ли у него какие-то особые преимущества по сравнению с Less? ну кроме необязательных знаков препинания :)

Не пользовался этим парнем. Впервые заглянул в доку только сейчас чтобы ответить. По набору функционала и подхода - как сасс + чуток компаса. И, разумеется, более облегченный синтаксис.