Задать вопрос

Стоит ли переходить с Sass'а на Stylus?

1. Интресует какие плюшки есть у stylus'а в сравнении с sass/compass.
Например, как я вижу по тестам, он существенно шустрее sass (но не libsass'а), гибкий синтаксис из коробки - хочешь пиши в привычном синтаксисе, хочешь в минималистичном. Или импорт через if, что не работает в Sass'е.

2. Какие возможные потери от такого перехода?
Например, как я понял, почитав о Stulus'е, у него нет нативной (или в виде расширения) сборки спрайтов - для меня это очень критично (но есть grunt/gulp plugin, но их же можно и для Sass'а использовать) . С другой стороны, для него есть сборка svg-спрайтов (расширение), чего нет у Sass'а (compass).

P.S. на sass'е работаю уже более 4-х лет, есть куча миксинов, функций облегчающих верстку, но не думаю, что будет проблема перенести их в Stylus.
Очень большая проблема еще в том, что WebStorm очень плохо поддерживает синтаксис Stylus (вчера полдня игрался со стайлусом :))

P.P.S. Еще непонятен принцип компиляции css в Stylus.
В Sass'е, если скормить ему всю папку, компилятся все файлы *.scss, если они не начинаются с "_", из всех подпапок. А как с этим дело обстоит в Stylus я не понял - как ему дать понять, что можно, а что не надо компилить?
  • Вопрос задан
  • 3822 просмотра
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Zoxon
@Zoxon
Веб-разработчик
1) У стилуса есть nib в замен компас, встроенные функции. Я использую в основном функции для работы с цветом и единицами измерения.
Самый главный для меня плюс в том что такой код легко читать и писать, нету всего того мусора который в есть в css и sass.
При мердже в git хорошим плюсом является то что синтаксис на отступах.

Стилус быстрее не только в тестах, ему не нужно тянуть руби и прочие костыли.
По сути и less, sass и css являются подмножеством языка stylus.

2) Ошибаетесь есть сборка спрайтов и даже несколько, и всегда можете написать свой велосипед. Но я не пользуюсь сборкой, надежней ручками в фотошопе.

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

Компилистя как настроите таск мэнеджер, лучше сразу использовать gulp он дает нехилый прирост скорости.
Например так у меня компилится стилус в gulp
var gulp = require('gulp'),
stylus = require('gulp-stylus'),
nib = require('nib');

gulp.task('stylus', function() {
	gulp.src(['./source/css/**/*.styl', '!./source/css/lib/**/*.styl', '!./source/**/_*.styl'])
	.pipe(stylus({
		use: [nib()]
	}))
	.on('error', handleError)
	.pipe(gulp.dest('./public/css/'))
});

Обрабатываются файлы с раширением styl в папке и подпапках /source/css/ исключая папку lib и файлы начинающиеся с «_»

Ну и прорекламирую немного свой велосипед ))
github.com/Zoxon/gulp-front
Ответ написан
@Hitta Автор вопроса
Константин Величко: Как по мне синтаксис - это дело привычки. Лично мне не нравится "чистый" синтаксис - я вот поэкспериментировал, посмотрел на такой файл, и понял, что все равно буду использовать полный css-синтаксис, потому что надо приложить усилие, чтобы в портянке текста выделить отдельный css-блок (и именно поэтому я использую scss, а не sass). Но на самом деле это мелочи, и тем более, что и stylus, и sass позволяют использовать как полный, так и краткий синтаксис, так что здесь я не вижу причины спорить.

Что касается спрайтов, когда-то это стало той killer feature, из-за которой я перешел на sass. Собирать вручную спрайты я больше не хочу. Сейчас это уже менее актуально для растра, поскольку перешел на svg. Но зато сейчас меня задалбывает вручную собирать svg-спрайты (sass/compass не умеет), сохранять png-картинку для fallback (да, еще приходится ie8 поддерживать), собственно, почему я вышел на stylus, где такая возможность есть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект