У Криса Койера есть потрясающее краткое изложение SASS vs LESS на css-tricks.com . Это определенно стоит прочитать.
Что касается некоторых ваших конкретных вопросов:
сообщество
Я полностью работаю с SASS / Compass, поэтому я не очень хорошо знаком с сообществом LESS, но при этом я действительно не нуждался в сообществе SASS. Их документация просто фантастическая и решает любые проблемы, с которыми я столкнулся до сих пор.
Для чего это стоит, вот статистика SASS против LESS, которую Крис имеет в своем посте, который я обновил для текущих чисел:
Количество открытых вопросов по LESS: 121
Количество открытых номеров по Sass: 87
Ожидающие запросы на извлечение на LESS: 13
Ожидающие запросы на извлечение на Sass: 8
Число коммитов за последний месяц в SESS: 49
Количество коммитов за последний месяц в Sass: 7
Отметим, что эти цифры были примерно сальто с момента написания Крисом в мае 2012 года. Это говорит мне о том, что они оба довольно равны в отношении деятельности по разработке.
зрелость
Технически говоря, Sass старше. Он вышел в 2007 году, а LESS вышел в 2009 году. Тем не менее, сравнения, которые я видел, показали, что оба они имеют практически одинаковый уровень «зрелости» в отношении функций и тому подобного.
У обоих также есть структуры, которые приносят им больше инструментов. У LESS есть Less Framework и Centage (кроме того, Twitter Bootstrap построен с LESS). У Сасса есть Компас, Гравитация и Сьюзи. Оба, вероятно, имеют больше, если вы покопаетесь в них, но это одни из первых, которые появляются при поиске.
Так есть ли реальные различия?
Когда дело доходит до написания этого, не совсем. Если вы используете CSS-подобный синтаксис SCSS в Sass (вместо более похожего на Python-подобный синтаксис SASS), у вас есть только типичные незначительные синтаксические различия ( @
против $
), но по большей части они в основном одинаковы.
Два самых больших различия в кодировании, которые я обнаружил, были: а) как они обрабатывают единицы при выполнении математических операций, и б) как они обрабатывают наследование. Когда задано что-то вроде 20px + 2em
, LESS отбросит второй блок и предположит, что вы имеете в виду первый (yeilding 22px
), а Sass выдаст ошибку (в основном, несоответствие типов). С наследованием LESS воспринимает это как миксин (я не очень хорошо это объясняю, так что подробности смотрите в разделе наследования этой статьи Tuts + ).
Насколько один из них превосходит другой, зависит от того, как вы предпочитаете, чтобы он справлялся с вещами.
Другое большое различие, о котором я знаю, это то, как и где каждый компилируется по умолчанию. Sass использует Ruby и компилирует на сервере, что позволяет вам сохранять и отправлять скомпилированный файл CSS клиенту. LESS, с другой стороны, по умолчанию использует скрипт less.js для компиляции CSS на лету. Однако с использованием Node.js LESS может компилироваться на стороне сервера так же, как это делает Sass.
Который из?
Итак, если они в основном одинаковы, какой из них вы должны использовать? Ну, если вы действительно не любите Python-подобный синтаксис SASS или действительно думаете, что компиляция на стороне клиента - это путь, или вы сильно предпочитаете наследование одного вызова по сравнению с другим, будет иметь значение больше, предпочитаете ли вы иметь (или уже есть) Ruby или Node.js установлены.
--debug-info
комментариями строк для Firebug и Chrome, несколько версий назад, еще до выхода стандартных), и заполнители (в основном, @extend без фактического написания класса, из которого можно расширяться) в последней версии.Я верю, что ваш выбор может зависеть, по крайней мере, от того, что вы делаете или используете; Я работаю в основном с Rails, и он поддерживает Sass для CSS, так что он активно включается при создании нового проекта. Если вы хотите использовать что-то вроде популярного Bootstrap, который по умолчанию использует Less, вам не нужно бояться, потому что есть много популярных гемов, таких как bootstrap-sass, которые позволяют вам использовать его в своем проекте.
Это строго анекдотично, но каждое впечатление, которое я лично испытал, заключается в том, что у Sass больше сообщество и больше поддержки, и, честно говоря, официальная документация по Sass гораздо более подробная и длинная, чем у Less (увеличение размера шрифта и отступов для всего не делает длинную часть текста). Если вы хотите вдаваться в подробности, хотя я не совсем знаком с Less, основанным строго на рассмотрении обоих языков, Sass является единственным, у которого есть наследование селектора. Я уверен, что есть и другая разница, о которой люди могут рассказать.
В конце концов, у каждого свои предпочтения, и если вы обнаружите, что один из них подходит вам лучше, чем другой, вы должны обязательно использовать его, если он может делать то, что вам нужно. Тем не менее, в свое время, используя Sass, я определенно пользовался его ясностью и эффективностью, особенно учитывая, что я нахожусь в области Rails.
источник
Я не уверен, что Less имеет что-то сравнимое, но одно из главных преимуществ Sass - это библиотека Compass , которая предоставляет вам много распространенных идиом CSS, стандартные хаки, необходимые для старых браузеров, и функциональные возможности CSS3 без необходимости префикса браузера, а не упомянуть автоматическую генерацию CSS для изображений спрайтов.
Другое преимущество - по крайней мере для меня - это то, что Sass допускает синтаксис, похожий на Python, который я считаю гораздо более читабельным.
источник