Обновить

Фронтенд

Сначала показывать
Порог рейтинга
Уровень сложности

Frontend Status: свежий дайджест фронтенда и AI — 04.06.2026

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели3.3K

Привет!

Это 17 выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске:

📺 Страница отрисована, а интерфейс всё ещё «оживает»: отложенная гидратация в TanStack Start на карусели Jack Herrington и подкаст с Андерсом Хейлсбергом — от Turbo Pascal до того, как ИИ меняет ремесло, когда код пишут не построчно — чтобы понять, где теряется скорость и куда движется разработка.

🤖 Половина кода уже с ИИ, а доверия меньше: опрос State of AI 2026 (54% сгенерированного кода), Яндекс и тысячи конфликтов при мерже Chromium, перцептрон 1959 года и «чтение мыслей» модели Anthropic — чтобы смотреть на внедрение ИИ цифрами и без иллюзий.

🛡️ Пустили агента в репозиторий — а что он может сломать: разбор Positive Technologies и история, когда ИИ «находит» CVE, который уже был в обучающих данных — чтобы не открывать доступ вслепую.

💫 Анимация замирает вместе с React: управление бесконечными CSS-циклами без прыжков и сравнение CSS, Motion и GSAP на главном потоке — чтобы интерфейс оставался плавным без лишнего JavaScript.

⚡ Нужна коллаборация как в Figma и Miro: Hocuspocus от Tiptap на Y.js и CRDT без гонок правок — WebSocket, офлайн и Redis — чтобы собрать совместное редактирование в своём редакторе без тяжёлого бэкенда.

⚡ Поиск раздувают до эмбеддингов и LLM: Fuse.js ~6 КБ с нечётким поиском, кириллицей и Web Workers в 7.4.0 — чтобы находить по списку в браузере без сервера и векторной базы.

⚡ TypeScript кажется очевидным, пока не упёрлись в типы: 15 коротких приёмов от Matt Smith — satisfies, проверка «все варианты учтены», строгий режим — чтобы писать безопаснее и без лишних аннотаций.

⚛️ React-шаблон на 35 000 звёзд без хаоса в репозитории: разбор Bulletproof React на Habr и MUI X 9.3 — чтобы взять проверенную архитектуру и не собирать стек с нуля.

🔥 Ember 7.0 без сюрпризов при мажоре: в основном сняли устаревшее, путь через 6.12 и Vite по умолчанию — чтобы обновиться без лотереи.

🅰️ Angular 22 меняет правила игры: OnPush по умолчанию, signal forms и инструменты для агентов в API — чтобы заложить новый проект на актуальных примитивах, а не по инерции.

𝐒 Svelte: $state.eager и pending больше не рвут зависимости, батчи идут связным списком — чтобы асинхронный UI вёл себя предсказуемо после обновления.

📦 Solid 2 в бета-версии, звонки WebRTC в production и шрифтовые иски на 15,3 млн ₽: асинхронность как примитив, грабли CallKit и SFU, PHP-парсер для проверки сайта — чтобы не удивляться ни релизу, ни иску.

🌎 Браузер снова забирает вёрстку у хаков: column-rule и row-rule в зазорах grid/flex и HTML внутри canvas за флагом — чтобы меньше DOM-обходов и проще UI поверх 3D.

🌐 Стандарты без костылей: сравнение объектов по значению (Composites в TC39) и элемент <install> для PWA без своего JavaScript — чтобы меньше полагаться на ссылки и самописные кнопки установки.

🛠️ Агенты под контролем: statewright с фазами и лимитами, свой Claude Code за вечер на DeepSeek и экспериментальный агент доступности GitHub н

Читать далее

Новости

Плагин умного поиска на сайте (only frontend)

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.7K

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

Читать далее

SEO-админка для большого каталога: sitemap, robots, мета-превью и тревоги поисковиков в одном месте

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели11K

Рассказываю, как мы собрали SEO-панель для динамического каталога: sitemap, robots.txt, мета-превью, RSS, диагностика и переобход в одном интерфейсе. Без секретов и полного кода, но с архитектурой и граблями продакшена.

Читать далее

MobX или приправа реактивности для JS

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.3K

Привет, Хабр!

Меня зовут Сергей Волков, я фронтенд-разработчик в компании VK. Мы используем MobX для работы с реактивными значениями в веб-приложениях, поэтому я хочу познакомить вас с этим инструментом и показать, почему на него стоит обратить внимание.

В этой статье я хочу поделиться своими мыслями о MobX - инструменте, который я искренне полюбил после многих лет разработки интерфейсов. Приятного чтения! :)

Читать далее

Что не так с React.js? Мой личный баттхёрт

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели7.8K

Данная статья может вызвать очень много баттхёрта в районе нижней точке у фанатов «прекрасной библиотеки» React.js просьба — уйти и не читать статью чтобы не повредить свою психику и сразу поставить дизлайк статье, комментарии ваши негативные я удалять не буду мне без разницы, это крик души и мой личный баттхёрт после продолжительной работой с этим и инструментом

Читать далее

Детерминированность реактивных вычислений

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.6K

Порядок выполнения реактивных реакций имеет свои особенности, которые часто оставляют на волю случая. Однако давайте рассмотрим все возможные варианты…

Упорядочить понимание

Chrome-расширение для GitLab: от rebase до cherry-pick

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.6K

Работая с GitLab каждый день, повторяешь кучу одинаковых действий которые хотелось бы делать быстрее чем позволяет UI. Надоело, запилил Chrome-расширение.

В статье рассказываю как устроено внутри: авторизация через session cookies без токенов, цепочки действий в background worker, борьба с постоянно меняющимся DOM GitLab (Vue-миграция между версиями сломала все селекторы несколько раз).

Из фич: кнопки на MR странице (rebase, bump версии, auto-merge, ship), Jira-сайдбар прямо в GitLab, бейджи размера/конфликтов/тредов на списке MR, cherry-pick в несколько веток, command palette.

Читать далее

Свобода без хаоса: как создавать гибкие лендинги

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.1K

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

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

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

Читать далее

Мы пытались написать BFF-прокси для Redmine. Это был провал. Вот что мы сделали вместо этого

Время на прочтение4 мин
Охват и читатели6.1K

Мы в стартапе ArcFront три недели двигались в совершенно неправильном направлении, пытаясь подружить современный React с 20-летним Redmine через сложный BFF-прокси. Рассказываем историю нашего провала, неожиданного архитектурного озарения и того, как мы выкинули две недели работы и заменили их 15 строками кода.

Читать далее

Конкуренты скопировали ваш сайт, приложение или код: пошаговый алгоритм действий

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели7.1K

Вы запустили продукт, вложили в него месяцы работы и деньги. А потом обнаружили, что конкурент выпустил почти точную копию — тот же интерфейс, та же логика, иногда даже те же баги. Что делать?

Эта статья — практический алгоритм. Разберём, как зафиксировать нарушение, какие способы защиты существуют, чем отличается путь через суд от пути через ФАС, сколько это стоит и сколько длится, какие дела уже прошли через суды и как не оказаться в роли нарушителя самому.

Читать далее

Удаляем фон и замазываем лица прямо в браузере: ONNX Runtime, MediaPipe и грабли Service Worker

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.8K

TL;DR. Две нейросетевые задачи — удаление фона (ONNX Runtime Web + модель silueta) и замазывание лиц (MediaPipe Tasks Vision + BlazeFace) — запущены полностью на клиенте: ни один пиксель не уходит на сервер. Ниже — почему «в браузере», какие модели выбраны и почему, как тянуть 43-мегабайтную модель с прогресс-баром, почему лица лучше пикселизировать, чем размывать, и подробный разбор бага, на который я убил вечер: Service Worker, кэширующий .mjs/.wasm, ломает dynamic import() с ошибкой «Failed to fetch dynamically imported module».

Читать далее

Custom Elements Collection: 147 компонентов двумя строками через CDN

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.9K

Как создавать веб-страницы без фреймворков, сборщиков и другого зоопарка. Технология Custom Elements появилась в браузерах в 2018-2020 годах, но долгое время незаслуженно обходилась стороной сообществом, в связи со сложностью разработки компонентов. Однако ничто не мешает использовать уже созданные компоненты с любым фреймворком. Об этом и пойдёт речь.

Читать далее

Компонентная разработка (reusable)

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.4K

Это не разбор, не рекомендация, а скорее ценный опыт фронтовой команды с полей российского IT. Все что описано ниже — общий результат нашей работы.

Перед любой командой со стороны менеджмента и бизнеса стоит одна и та же задача «давайте быстрее — надо было еще вчера». Нас эта судьба также не миновала. Первое, с чего начинается оптимизация, своя дизайн‑система. У нас уже была своя дизайн‑система, она выручала нас во многих кейсах, но она была старая, подходы к разработке давно изменились, и UI Kit уже не отвечал требованиям. Поэтому было принято решение параллельно разрабатывать новую, с учетом всех последних требований и подходов.

Переезд не должен доставлять проблем и быть плавным. План такой: разрабатываем новый компонент, тестируем его, и как только результат радует, старый удаляем и внедряем новый. И так до тех пор, пока не останется ни одного старого компонента.

Разработка имеет такую очередь: архитектурно наш UI Kit лежит в закрытом artifactory npm пакетом. Также есть шаблон со всеми необходимыми зависимостями и UI Kit«ом. Когда приходит время нового проекта, делается fork заготовки. Это дает быстрый старт.»

Начинаем

Давайте посмотрим, как бы начиналась разработка приложения. Возьмем для примера компонент Select. Не будем писать сами, возьмем Antd Select и через обертку emotion стилизуем его под корпоративные стили.

Структура получится такая:

Читать далее

Ближайшие события

Одна обложка 1200x630: почему PNG еще не конец

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели4.6K

Я хотел просто повторить одну обложку в разных сервисах. Но быстро выяснилось, что сама PNG-картинка — только середина пути. Главное начинается дальше: как подставить новый заголовок, куда сохранить файл и кто в итоге пропишет правильный og:image в WordPress.

Читать далее

Что не так с SVG-файлами в Tcl/tk?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

В версии tcl/tk-9.0 добавлена возможность создавать изображения image из SVG-файлов (а значит и сохранять их в png-формате). Всё было хорошо до тех пор пока мне для статьи на сайте Tcler's Wiki ни потребовался флаг США для кнопки переключения языка интерфейса:

Читать далее

Прошёл 15 собесов за месяц. Что спрашивали, сколько длилось и кто вообще не ответил

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K

Месяц назад я уволился из аутсорса и решил, что найду работу за 2–3 недели. Три года опыта, фуллстек, React + Node, пара нормальных проектов в портфолио. Казалось бы — садись и выбирай.

Через 4 недели у меня было 15 собеседований, 2 оффера, 6 молчаний без ответа и один рекрутер который прислал отказ на вакансию на которую я не откликался. Записывал всё в заметки потому что к 10-му собесу уже начал путать компании. Вот что получилось.

Читать далее

Lighthouse 100 / 100: как мы повесили GTM, GA4, Яндекс.Метрику и Clarity на статический сайт — и не уронили скорость

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.9K

Когда маркетологи хотят всё: сырые данные в GA4, запись сессий в Метрике, хитмапы в Clarity и при этом «Lighthouse 100» в PageSpeed Insights — приходится изобретать. Расскажу, как мы это сделали на небольшом проекте и во что это обошлось по времени и нервам.

Проект — нишевый агрегатор российских хостинг-провайдеров. Более 120 страниц в sitemap, 31 статья, десятки категорий услуг, живые цены, сравнения. Стек: Astro 6 + Strapi 5 + Tailwind 4, плюс Partytown, PostgreSQL, Nginx и обычный VPS на Ubuntu. Сайт собирается в статику во время билда, никакого SSR в рантайме нет.

На desktop — Lighthouse 100 / 100 / 100 / 100. На mobile с жёстким throttling (4x slow CPU) — 99 / 100 / 100 / 100. В реальных условиях и по Chrome UX Report — 100 везде. LCP на desktop — 0,5 секунды, на mobile throttled — 1,7 секунды. CLS — ноль. TBT — 10 ms на мобильном и 0 ms на десктопе.

Читать далее

Новый Intl.DurationFormat привел к неожиданной ошибке приложения

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.2K

В этой статье расскажу о свежем баге, который ронял один тип транзакций, пока остальные работали штатно. Если используете @formatjs/intl-durationformat для форматирования времени - этот кейс может сэкономить пару часов отладки.

Читать далее

От брифа до гипотез: 10 промптов, которые экономят неделю работы маркетолога

Время на прочтение13 мин
Охват и читатели6.5K

Я уже год пощу отдельные промпты в свой Telegram-канал. По просмотрам они стабильно обгоняют всё остальное — кейсы с цифрами, разборы инструментов, личные истории. Просто промпты в два раза популярнее.

Видимо, людям не очень интересно читать про нейросети. Им интересно взять что-то готовое и сразу проверить.

Поэтому собрал семь промптов, которые я использую в реальной работе. Не концепция «как ИИ меняет маркетинг». Конкретный набор инструментов под конкретные задачи: бриф, анализ аудитории, конкуренты, стратегия, аудит сайта, аудит рекламы, таблица гипотез.

Всё это проверено на реальных проектах агентства. Где-то экономит несколько часов, где-то — неделю. Один промпт (анализ конкурентов через Perplexity) однажды нашёл конкурента, которого я за два года не замечал. Немного стыдно, но факт.

Читать далее

Миграция на Vue 3 начинается не с кода: как донести важность и подготовить проект

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.9K

Миграция большого legacy-проекта с Vue 2 на Vue 3 — это не только про код. Основная сложность начинается ещё до первого коммита: оценка объёма работ, поиск несовместимых API, планирование и организация процесса разработки.

Почему вообще это важно, и как донести эту мысль до бизнеса я уже описывала в другой своей статье «Ты всё ещё думаешь или уже мигрируешь на Vue 3». Рекомендую почитать.

А тут я поделюсь своим опытом, где мне пришлось лидировать миграцию: самостоятельно составлять план миграции, оценку времени, рисков и проводить саму миграцию.

Читать далее
1
23 ...