Выпуск 24: Самый стильный сжиматор

К нам в гости заехал Андрей Ситник, автор PostCSS, почётный докладчик, фронтендер Злых Марсиан. Помимо прочего говорим о пре- и постпроцессорах, Ruby-сообществе и диалектах JavaScript.

Скачать выпуск (mp3, 42 MB)
  • все круто, только меня зовут Ринат МуллАянов)

  • Timothy Lee

    Подкаст Криса Коейра Shop Talk Show выпуск с мамой Пола Айриша

    Вообще интересный подкаст получился. Она даже в теме немного

  • Meuwka

    очень крутой выпуск, спасибо!

  • Спасибо за выпуск, интересно было послушать.
    Есть один вопрос, возможно риторический – если все реализуется в джаваскрипте, почему появляются все новые и новые языки пытающиеся его заменить?

    • Андрей Ситник

      Препроцессоры скорее расширяют язык. Технические идеи и наши задачи же просто развиваются

    • Boris Britva

      Плюс это хороший способ протестировать фичу на людях прежде чем тащить ее в спеку.

    • Alexej Yaroshevich

      Последние тенденции — не заменить, а упростить и расширить. Тот же coffee, ts, babel — по большей части, расширения. До этого были Dart иGoogle Clojure, но это скорее прошлое 😉

  • Dmitry

    Честно сказать, такое чувство, что вы общаетесь чисто между собой и на своей волне.
    О какой проблеме онайлнфеста с синхронизацией вы вообще говорите? вам что анрил сравнить на серваке время присистанса? Если пришел старый – нахуй его. Пришел новый – апдейт

    • Dmitry

      Что косаемо ccs модулей, тоже зачем? Стандарт веб-компонентов все это покрывает более красивым способом.

  • Artin

    Насчёт React`а и модульности.
    У нас был большой тортик с 3мя отдельными слоями (html, js, css). Но никто не любил кушать только слой крема, или только коржик. Всем хотелось крем, коржик и вишенку, но маленьким отдельным кусочками.
    Пришел React и начал нарезать тортик аккуратными кусочками. Но получившиеся кусочки он комкал в однородные шарики и проглатывал за раз.
    Вопрос: как выжить в этом агрессивном мире, и есть ли ответ в Web Components?

    • Alexej Yaroshevich

      До реакта был БЭМ. И кое-что в нем намного сильнее проработано, нежели в реакте. Но в реакте намного сильнее браузерная часть, в т.ч. JS-окружение для компонент.

      Про Web Components — будет понятно, когда начнутся рабочие кроссбраузерные реализации, имхо. Пока рано что-то говорить.

      • Artin

        БЭМ вроде и сейчас есть. Регулярно можно слышать про него из разных мест, но пробовать самому пока не приходилось.

        БЭМ это ведь тоже про компоненты/модули?

        Если есть конкретный опыт, расскажи пожалуйста что именно там сильнее проработано.

        • Alexej Yaroshevich

          БЭМ хорош тем, что это не столько универсальный, сколько детально проработанный продукт. Эволюционно проработанный. Много разных нюансов выверено временем.

          Кроме банального желания разделять на модули и библиотеки, там продумано как именно их нужно делить — от файловой структуры до документирования, тестирования, сборки и последующего использования компонент в разных проектах — в т.ч. использования для создания библиотек.

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

          Стоит, наверное, еще вспомнить, что в БЭМ было предложено единое пространство смыслов (чем-то близко с DDD), где дизайнер, верстальщик и разработчик начинают оперировать терминами из общего словаря, что сильно упрощает процесс работы над проектом или библиотекой.

          Со временем и Web Components дойдут до какой-то ступени развития, это начнет работать и будут ясны плюсы и минусы их подхода, но это еще года пройдут.

          • Artin

            Я правильно понимаю что БЭМ это монстр который решает множество инфраструктурных моментов в том числе на сервере, и оправдан только для больших проектов?

            В отличие от React, который есть только тонкий слой представления + низкий порог старта на быстрых проектах.

          • Alexej Yaroshevich

            БЭМ это совокупность выверенных временем решений, достоверно работающих. React это достаточно новая необкатанная на практике технология для построения фронтенда. Никто не мешает собирать приложения на React используя БЭМ. Некорректно их сравнивать. Я сравнивал лишь i-bem.js (bem-core от Яндекс) с React.

  • Vadim Ivanov

    Весьма интересный выпуск получился. У гостя стойкое субъективное мнение на многие проблемы, что дает почву для обсуждения. Хочу добавить ремарку по поводу merge текста, то тут ничего невозможного. Просто текст – это очень легко. Есть техники для этого еще с 80х годов, которые успешно применяются и в многопользовательских онлайн играх. В частности, что применено в online document editor от mail.ru – это Операциональные преобразования https://en.wikipedia.org/wiki/Operational_transformation. В случае редактора документов это не только несколько пользователей онлайн и набор текста, но и его форматирование (это где вся боль приходит).
    Миша, Андрей у меня еще вопрос к вам как к организаторам, вы обсуждаете то как произносятся различные инструменты, языки и тп. Бывали и раньше конечно огрехи, но в этом выпуске “Гульп” я пережить не смог (да простит меня Андрей Ситник).

    • Касательно OT: надеюсь, скоро Виктор Грищенко придет к нам в гости и расскажет подробно про все подходы, про Swarm.js и раскроет сабж.

      Касательно произношения: ребята из WebStandards делают глоссарий с переводом терминов и имен людей, порой это не просто, надо про это рассказать (https://github.com/web-standards-ru/dictionary). Думаю, стоит расширить его и прописать правила произношения различных библиотек и фреймворков…

      • Alexej Yaroshevich

        Про Swarm давно надо рассказать. Темная лошадка, имеющая популярность 😉 Было бы круто!

  • Alexej Yaroshevich

    Имхо. Assets Pipelines это скорее название подхода, нежели продукт, архитектура, если хотите, а Sprockets — реализация.

  • Alexej Yaroshevich

    Поменять точку сборки — это революция 😉 Да, революция это не только кровь-кишки, это еще и радикальная смена движения развития (эволюционного пути).