Чи є якісь переваги SASS над меншими? [зачинено]


36

Я намагаюся зробити дослідження цих css-препроцесорів.

Чи є якісь переваги використання sass над меншим в якості препроцесора css? Фактори, які я шукаю, включають розмір спільноти, зрілість програмного проекту тощо.

Я знаю, що було ще одне питання, пов’язане з цим, але воно не було конструктивно написане та закрите.

Оновлення

Схоже, завантажувальна програма тепер перейшла на використання Sass

Відповіді:


32

У Chris Coyier є приголомшливий пробіг SASS проти МЕНШЕ на сайті css-tricks.com . Це, безумовно, варто прочитати.

Щодо деяких конкретних питань:

Громада

Я повністю працюю з SASS / Compass, тому я не дуже знайомий із спільнотою LESS, але мені також не потрібна спільнота SASS. Їх документація є фантастичною і вирішила будь-які проблеми, з якими я стикався поки що.

Для чого варто, однак, ось статистика SASS проти менших, яку має Кріс у своєму дописі, яку я оновив для поточних номерів:

Кількість відкритих випусків менше: 121
Кількість відкритих випусків на Sass: 87

Запит на виклик на
очікування менше: 13 Очікує на запит на витяг на Sass: 8

Кількість комісій за останній місяць менше: 49
Кількість комісій за останній місяць у Sass: 7

Зауважимо, що ці цифри були грубо перевернуті, як писав Кріс у травні 2012 року. Це говорить мені, що вони обоє досить рівні щодо активності розвитку.

Зрілість

Технічно кажучи, Сасс старший. Він з'явився в 2007 році, а МЕНШЕ - у 2009 році. Тим не менш, порівняння, які я бачив, поставили їх обох приблизно на однаковий рівень "зрілості" щодо особливостей і чогось іншого.

Обидва також мають рамки, які приносять їм більше інструментів. Менше має менший фреймворк та Centage (крім того, Twitter Bootstrap побудований із меншою кількістю). У Sass є компас, гравітація та Сьюзі. Оба, мабуть, мають більше, якщо ви копаєте їх, але це одні з перших, що з’являються під час пошуку.

То чи є реальні відмінності?

Коли мова йде про його написання, не дуже. Якщо ви використовуєте CSS-подібний синтаксис SCSS у Sass (замість синтаксису, схожого на Python-SASS), у вас є лише типові незначні синтаксичні відмінності ( @vs $), але здебільшого вони в основному однакові.

Дві найбільші відмінності в кодуванні, які я знайшов, були: а) як вони обробляють одиниці, займаючись математикою, і б) як вони обробляють спадщину. Коли вам буде надано щось подібне 20px + 2em, LESS відкине другий блок і припустить, що ви маєте на увазі перший (yeilding 22px), тоді як Sass видасть помилку (в основному, введіть невідповідність). З успадкуванням, ЛІНЕ ставиться до цього як до міксину (я справді не можу це добре пояснити, тому детальніше дивіться розділ про спадщину в цій статті про Tuts + ).

Від того, наскільки один вищий від іншого, залежить від того, яким чином ви хочете, щоб він впорався з речами.

Інша найбільша різниця, про яку я знаю, - це те, як і де складається кожен за замовчуванням. Sass використовує Ruby та компілює на сервері, що дозволяє зберігати та відправляти зібраний CSS-файл клієнту. Менше, з іншого боку, за замовчуванням використовується сценарій less.js для збирання CSS на льоту. Однак, використовуючи Node.js, LESS може компілювати на стороні сервера так само, як це робить Sass.

Який?

Отже, якщо вони в основному однакові, то який із них слід використовувати? Ну, якщо ви дійсно не любите синтаксис SASS, схожий на Python, або дійсно не думаєте, що компіляція на стороні клієнта - це шлях, або ви дуже віддаєте перевагу передачі спадщини кому-небудь над іншим, важливо мати більше значення, чи хочете ви мати його (або вже встановлено) Ruby або Node.js встановлені.


2
+1 Приємний підсумок. Якщо вона не була додана нещодавно, у LESS також немає нічого подібного до @asstend Сасса
steveax

Здається, розвиток ЛЕСС значно посилився з пізнього часу. Вони додають синтаксис @extend у синтаксисі 1.5.0 (: extension ()). Крім того, вони додають Карти джерел серед іншого.
WraithKenny

WraithKenny - Це все ще технічно ставить їх за Сассом. Стандартизовані вихідні карти знаходяться зараз у гілках тестування (і у них були нестандартні "вихідні карти" з --debug-infoкоментарями для Firebug та Chrome, кілька версій уже кілька років, до появи стандартних), і заповнювачі місць (в основному, @extend без фактичного написання класу, з якого слід продовжити), є в останній версії.
Shauna

@Shauna не впевнений, наскільки вони "технічно" позаду ... LESS має "нестандартні" вихідні карти "з минулого року, і вже має стандартні карти вихідних даних в останній стабільній збірці, на відміну від Sass в даний час.
subhaze

@subhaze - На час попередніх коментарів LESS не мав синтаксису розширення, тому він все ще відставав у цьому аспекті. Крім того, Sass додав функцію "заповнювачів" в останніх стабільних складах. З цього приводу я не збираюсь робити додатки кожні пару місяців, порівнюючи найсучасніші характеристики кожного набору. Як я вже говорив у своїй відповіді, вони обоє майже однакові, і коли один додає функцію, інший не має, інший зазвичай не відстає.
Шауна

6

Я вважаю, що ваш вибір може залежати хоча б крихітно від того, що ви робите чи використовуєте; Я працюю в першу чергу з Rails, і він підтримує Sass для його CSS до того, що він активно включається при створенні нового проекту. Якщо ви хочете використовувати щось на зразок колись популярного Bootstrap, який використовує Менше за замовчуванням, вам не доведеться побоюватися, тому що існує багато популярних дорогоцінних каменів, таких як bootstrap-sass, які дозволяють використовувати його у вашому проекті.

Це суворо анекдотично, але кожне враження, яке я мав особисто, полягає в тому, що у Sass є більш широке співтовариство та більша підтримка, і, відверто кажучи, офіційна документація на Sass набагато детальніша та триваліша, ніж у Less (збільшення розміру шрифту та набивання для всього не робить довший фрагмент тексту). Якщо ви хочете розібратися в конкретних характеристиках, хоча я не зовсім знайомий з "Менш", будуючи строго, дивлячись на обидві мови, Сасс - єдиний, хто має спадкове значення для селектора. Я впевнений, що є й інша різниця, яку люди можуть розробити.

Зрештою, у кожного є свої уподобання, і якщо ви виявите, що один вам більше підходить, ніж інший, вам слід скористатися ним, якщо він може робити те, що вам потрібно. Однак, використовуючи Sass, я, безумовно, насолоджувався його чіткістю та ефективністю, особливо враховуючи, що я в області Rails.


Домовились, якщо ви вже на Ruby, SASS має сенс. Я більше хлопець JavaScript, тому МЕНШЕ для мене!
WraithKenny

5

Я не впевнений, що у Less є щось порівнянне, але однією з головних переваг Sass є бібліотека Compass , яка надає вам безліч загальних ідіом CSS, стандартних хаків, необхідних для старих браузерів та функцій CSS3 без необхідності префіксації браузера. згадайте автоматичну генерацію CSS для спрайт-зображень.

Ще одна перевага - принаймні для мене - полягає в тому, що Sass дозволяє синтаксису подібний до Python, який я вважаю набагато більш читабельним.


Порівняний із компасом? Я не знаю, але у них є Twitter Bootstrap.
WraithKenny

Ну, це різні звірі. Bootstrap - це набір конвенцій і віджетів, а Compass os - це колекція міксинів для багаторазового використання
Андреа

Також Bootstrap доступний у Sass.
Shauna
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.