Материалы архива
Доступность как чек-лист, а не как переделка
Минимальный набор проверок доступности для серверного приложения: иерархия заголовков, метки и ошибки форм, кл...
24 сен 2026 18 просм.
Rich text в продукте: хранить HTML или структуру
Два способа хранить текст из визуального редактора, санитайзер на выводе, серверный рендер блоков вместо довер...
20 сен 2026 21 просм.
Real-time на Mercure: события вместо опроса
Mercure в связке с Symfony: два ключа JWT и что будет, если их перепутать, публикация события против готового...
17 сен 2026 14 просм.
Обычные модули против Stimulus-контроллеров
Чем Stimulus отличается от обычного JS-модуля на практике: жизненный цикл, привязка к разметке, поведение посл...
20 авг 2026 36 просм.
Дизайн-токены в шаблоне: одна палитра на десяток проектов
Как устроены дизайн-токены, которые переезжают между проектами: примитивы, семантические роли, компонентные зн...
21 июл 2026 35 просм.
Tailwind без Node в ежедневном цикле
Три способа подключить Tailwind к Symfony и Laravel: CDN, отдельный бинарник и плагин сборщика. Где живёт конф...
26 мая 2026 31 просм.
Три способа собрать фронт Symfony: AssetMapper, Encore, Vite
Сравнение AssetMapper с ImportMap, Webpack Encore и Vite на живых проектах: старт, скорость правки, размер выд...
9 апр 2026 36 просм.
Kanban на Live Components: перетаскивание без своего фронтенда
Доска задач на Symfony UX Live Components: что держать в состоянии компонента, как устроено перетаскивание, от...
26 фев 2026 24 просм.
Серверный рендер и Turbo вместо SPA: где проходит граница
Что Turbo Drive даёт бесплатно, зачем фреймы, как поделены зоны между Stimulus и Alpine, и на каких экранах се...
13 янв 2026 39 просм.