Зачем нужен PostCSS? Как его использовать совместно с SCSS и Gulp?
Добрый день. Сейчас все чаще в вакансиях вижу упоминание PostCSS в списке с Sass и Gulp.
Не имею опыта использования PostCSS лично. Хотелось бы понять, что он может дать, какие киллер-фичи, так как не смог этого выяснить читая про него. Вроде бы как по определению PostCSS — программа, которая автоматизирует рутинные операции с CSS, с этим хорошо справляется тот же Sass, префиксы, оптимизация, сжатие - вроде бы все это неплохо делает Gulp, так для чего нужен PostCSS? Да и не логичнее ли и правильнее поручать такие процессы как сжатие файлов, создание спрайтов - таскеру, а не плагинам программы автоматизации рутинных операций с CSS?
Browser vendors are working to stop using vendor prefixes for experimental features.
....
Lately, the trend is to add experimental features behind user-controlled flags or preferences, and to create smaller specifications which can reach a stable state much more quickly.
MaxKorz, те и у вас caniuse не показывает, что требуется префикс
Хорошо
Те все как я и указывал
По поводу експериментальных фич
Их никто в продакшен верстке использовать не будет
А если будет использовать, то уровень программера позволит ему самому написать код для подержания в других браузерах
не понимаю к чему там вобще постцсс, если большая часть вещей реализована до него
линтеры - есть
встраиваение свг в бейз64 - делается без плагина миксином
минификация также
остальное - жесть какая-то
зачем тогда аргументировать "как аутопрефиксер поможет мне с експерементальными фичами" и потом говорить "профи не будет всякими плагинами пользоваться, а сам напишет"?
ето вы пытаетесь сказать, что аутопрефиксер делает магию. Я только, скромно, пытаюсь понять, какую именно он умеет магию
А если разработчик не профи? Или это умный профи, который отдает грязную работу плагинам?
не_профи - не узнает о таких фичах
мой краткий список экстремально полезных плагинов вы проигнорировали
не проигнорировал. Я указал, что они не привязаны к постцсс. Они есть отдельно и ими я пользуюсь даже без сасс
я про вот ето. Ето непонятно зачем
- Вычисление контрастного цвета
- Создание фона из изображения
Одна универсальная екосистема, под управлением одной фирмы - очень круто. Никогда не слышал, чтоб такое приводило к катастрофе (<-сарказм)
sim3x, вообщем все свелось к аргументу - одна универсальная экосистема, смех в том, что так можно описать и Gulp... Наверное я мало статей прочитал про PostCSS...
Вы путаете "мягкое" с "пушистым". У них разные задачи.
GULP - инструмент для запуска задач, что Вы в эти задачи поставите - дело Ваше.
SCSS/LESS - это в чистом виде синтаксический сахар для css. Все эти переменные, примеси, импорты и прочее всего лишь для того, чтобы Вы писали меньше кода. Т.е. логики никакой туда не вложишь, чистый декларатив.
PostCSS - это для более умной пост-обработки. Можно до компиляции, можно после (не суть важно) - как то обработать Ваши стили. Тот же автопрефиксер - это как раз именно постобработка стилей по определенным правилам, т.е. присутствует логика работы. Написан этот инструмент так, чтобы мог работать со всем тем зоопарком, что сейчас развелся.
Ну то есть если у меня есть все что мне требуется для работы в виде плагинов для Gulp, ставить PostCSS мне нет смысла, я правильно понял? Ну вот если у меня есть в Gulp тот же волшебный автопрефиксер, мне абсолютно не важно откуда и что он тянет, какой мне смысл использовать именно автопрефиксер из PostCSS?
Сергей, Вы походу не читаете других комментаторов. Автопрефиксер и использует PostCSS. Вы не хотите углубляться в изучение проблемы, но хотите ответ на вопрос с глубоким описанием.
Вот, к примеру, самый банальный пример - как вы решите задачу, если надо будет сделать быстро из имеющихся css файлы для арабского сайта (там все справа-налево) ?
Владимир Скибин, нет, я читаю, я же написал, что мне не важно, что он использует PostСSS, я использую плагин Gulp и его работа меня полностью устраивает, смотреть его зависимости, ну мне это не важно. Ну использует PostCSS, ок, я то его использую как Gulp плагин. По поводу вашего примера с арабским сайтом: плагин для Gulp находится за пару минут. И я думаю он там не один.
Сергей, Собственно который и использует PostCSS. Если Вы не хотите знать что там под капотом - не знайте, это Ваше дело. Ваш вопрос воспринимается как попытку разобраться что где и как, и люди Вам соответственно отвечают, тут ответ от ответа не особо отличается. Вы же просите "золотую пулю", которой не существует.
Владимир Скибин, Тебя в детстве веслом что ли били? Человек у тебя спросил, раз уж ты знаешь что-то что скрыто от глаз, просвети в чем плюс!? А ты ему "Вы не хотите углубляться в изучение проблемы, но хотите ответ на вопрос с глубоким описанием". Да никто не хочет рыть шахту не разведав месторождений. Он у тебя не глубокого описания спросил, а тупо в чем плюсы минусы различия.
SASS, LESS - это как новые языки стилей, транспилируемые в обычный CSS. У них свой, отдельный, CSS-совместимый синтаксис, миксины, переменные, функции, и прочее.
PostCSS - сам по себе - это лишь модульный парсер. Он предоставляет легкую возможность написания плагинов. И их действительно много. Можно поставить SCSS-подобный синтаксис, и почти не заметить отличий. А сверху навесить пару плагинов типа autoprefixer. Как и что будет обрабатываться - решаете сами. Я рекомендую postcss-cssnext, готовый сет фич, которые в будущем должны поддерживать все браузеры.
Да я знаю, что такое Gulp и препроцессоры, мне хотелось услышать, что мне даст в реальном проекте применение PostCSS, чего я так сказать лишаюсь, не используя его, а довольствуясь лишь плагинами Gulpа. И вот пока не могу получить ответа)