28143
🚀 Статьи, новости, туториалы по frontend разработке. http://jem-space.ru Admin: @jem_jem Пишу в @five_a_m Читать на парковке: https://max.ru/front_end_dev Реклама: http://bit.ly/2NxmVDu РКН: https://clck.ru/3GLw7G
Почему переключатель dark mode не нужен
Для большинства сайтов постоянный переключатель light/dark не нужен: он добавляет лишнее решение в интерфейс и хуже работает, чем автоматическое следование системной теме. Если переключатель всё же нужен, вариант с двумя вариантами лучше вариант с тремя, потому что он покрывает все сценарии без отдельного пункта System в UI.
https://lea.verou.me/blog/2026/dark-mode-toggles-2/
Rslib 1.0 для сборки JS-библиотек
Rslib 1.0 даёт единый пайплайн для сборки JavaScript-библиотек: ESM, CJS, UMD, IIFE и Module Federation, генерацию declaration files, поддержку React, Vue, Svelte и Solid, а также bundle и bundleless режимы под разные сценарии публикации и интеграции.
https://rslib.rs/blog/v1-0
Привет!
Чуть не забыл про итоги)
Поздравляем @m_hodeneva с победой! 🎉
Для тех, кому не так повезло, все еще действует промик на скидку - FrontEndDev
Всем добра! ✌️
Сайт: появляется в интернете.
Веб-краулер: ну здравствуй.
Что нового в HTML к середине 2026
В HTML появляются новые элементы для permissions, установки приложений и Web Components, а ещё расширяется стилизация select и поддержка Declarative Shadow DOM. Это важно, потому что часть сценариев вроде геолокации, камеры, микрофона и установки PWA можно делать через более семантичные и доступные интерфейсы, а не только через разрозненные JS-API и браузерные меню.
https://blog.master.dev/new-things-you-should-know-about-html-here-in-mid-2026/
Anthropic запустила claude.dev — блог для разработчиков с кейсами
Это не просто документация, а живой практический блог инженерной команды компании. Документация по-прежнему живёт на code.claude.com/docs, а здесь публикуют подробные статьи, сценарии из реальной жизни, опыт команд и конкретные кейсы.
https://claude.dev
👨💻 Фронтенд с AI: что можно делегировать агентам
Друзья, 5 октября стартует конференция Podlodka Frontend Crew — сезон о том, как применять AI во фронтенд-разработке на практике. Иду сам и по традиции зову вас с собой!
В этом сезоне разберем:
• Как находить prompt injection и противостоять таким атакам;
• Какие подходы помогают повысить доверие к результатам агентской разработки;
• Как проводить ревью кода, созданного AI-агентами;
• Как AI помогает упростить починку багов.
В программе ещё много практических кейсов.
Как обычно удобный формат — пять дней Zoom-сессий по утрам и вечерам и закрытое Telegram-комьюнити, где можно обсудить новый опыт и узнать от единомышленников то, что не догадаешься спросить у своей LLM.
Приходите, чтобы разобраться, какие задачи уже можно делегировать AI, где важно сохранять контроль и как выстроить системную работу с AI в команде или проекте.
🔗 Программа и билеты: https://podlodka.io/fecrew
По промокоду FrontEndDev получите скидку 500руб🎁
👉 По традиции разыгрываем билет! Чтобы участвовать в розыгрыше заполните форму. Итоги подведем в ближайшие дни. Всем удачи ✌️
10 AI-slop проверок во фронтенде
Набор проверок, которые помогают ловить ошибки в AI-сгенерированном фронтенд-коде раньше ревью: от контрактов OpenAPI и strict TypeScript до boundary-правил, mutation testing и детекторов мёртвого кода. Это снижает архитектурный дрейф, убирает лишние допущения и делает быстро растущий код дешевле в поддержке.
https://evilmartians.com/chronicles/ten-anti-ai-slop-moves-for-frontend-projects-going-faster-than-humans-can-review
Как связать HTML-атрибуты и CSS без классов
Container style queries и advanced attr() позволяют строить адаптивные компоненты, где HTML-атрибуты напрямую задают CSS-параметры, а дочерние элементы меняют вид по состоянию родителя без modifier-классов и прокидывания props.
https://utilitybend.com/blog/container-style-queries-and-advanced-attr-rethinking-how-to-wire-up-my-components-in-css
Codex для фронтенда и UI-автоматизации
Бесплатный курс по agentic frontend development с OpenAI Codex показывает, как быстрее собирать интерфейсы и меньше тонуть в ручных правках. Практическая польза в том, что Codex лучше работает не по голой задаче, а с контекстом проекта, plugins, skills, browser tools и хорошо оформленным Agents.md. Курс разбирает рабочий цикл build, inspect, steer, verify: задаёте цель, проверяете UI тестами, даёте итеративную обратную связь и направляете результат через App Shots и annotations.
https://master.dev/courses/codex/
Как Next.js закрыл 1500 issue за месяц
Команда Next.js показала рабочий пайплайн для разгребания большого GitHub backlog: агент в изолированной среде собирает доказательства по issue, ищет связанные PR и коммиты, пытается воспроизвести баг на разных версиях и возвращает структурированное решение о закрытии. Это важно, если у вас есть свой open source или внутренний продукт с потоком багрепортов: ручная модерация плохо масштабируется, а возраст issue сам по себе ничего не говорит о его актуальности.
https://nextjs.org/blog/how-we-closed-1500-github-issues
Серверный 1v1 на Cloudflare Durable Object
Разбор того, как держать 60Hz серверную симуляцию внутри одного Cloudflare Durable Object и что это даёт на практике: предсказание движения на клиенте, откат состояния для честного попадания, адаптивный выбор лучшего edge-сервера и удержание слота при обрыве соединения. Полезно как пример архитектуры для realtime-игр и других web-приложений, где важны низкая задержка, синхронизация и предсказуемое поведение на сервере и в тестах.
https://railmid.com/blog/how-it-works
Blume превращает Markdown в сайт документации
Blume собирает папку с Markdown в готовый docs-сайт на Astro и Vite без шаблонного приложения и лишней настройки. Для старта нужен только Node.js и один Markdown-файл, дальше доступны типизированная конфигурация, автоматический SEO, llms.txt, raw Markdown по .md URL, MCP-сервер и blume eval, который прогоняет документацию как тесты и валит CI, если она не отвечает на вопросы.
https://www.infoq.com/news/2026/09/blume-docs-ai/
vlt 1.0: npm-замена с защитой от вредных пакетов
vlt 1.0 — drop-in замена npm с упором на безопасность и аудит зависимостей. install и build разделены: пакеты можно скачать без запуска скриптов, а затем отдельно выполнить только доверенные, что снижает риск supply chain атак. Для команды это даёт более безопасные установки, удобный аудит зависимостей и почти безболезненный переход: команды остаются совместимыми с npm API, меняются только vlt.json и vlt-lock.json.
https://www.infoq.com/news/2026/09/vlt-npm-replacement/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=JavaScript
Rust-версия React Compiler ускоряет сборку
Переход на Rust-реализацию React Compiler даёт заметный прирост скорости на больших кодовых базах: в React Router сборка компилятора сократилась с 14,3 секунды до 0,81 секунды, а общая сборка стала примерно в 2,4 раза быстрее. Ещё один плюс в том, что линтер и билд могут использовать один и тот же React Compiler, поэтому меньше шансов, что компонент пройдёт проверку, но не будет скомпилирован в проде. В Vite с @vitejs/plugin-react достаточно включить compiler: true и убрать Babel-обвязку.
https://blog.master.dev/react-now-rusted-all-the-way-out/
ESLint Config Inspector показывает медленные правила
ESLint Config Inspector 3.4 добавил анализ времени выполнения правил, который помогает быстро найти, какие именно правила тормозят linting. Это полезно для больших конфигов ESLint, где проверка начинает заметно замедлять сборку и локальную разработку. Теперь можно точечно отключать или упрощать самые дорогие правила и ускорять прогон линтера без гадания
https://github.com/eslint/config-inspector
Fetch возвращает ответ раньше тела
Fetch promise завершается после заголовков, а тело продолжает приходить по открытому соединению. Это влияет на чтение ответа, clone, abort и таймауты: если тело не дочитать, можно потерять reuse соединения и получить лишнюю нагрузку в Node и браузере.
https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/
Набор мини-библиотек для HTML, событий и fetch
Набор маленьких standalone-библиотек для веба: для усиленного HTML, inline-скриптинга и реактивности, streaming HTML и events, DOM patching и удобных fetch() wrapper'ов. Полезно, если нужен точечный инструмент вместо тяжёлого фреймворка: каждая часть подключается отдельным скриптом, а весь набор можно взять одним файлом или через npm.
https://fixiproject.org/
Анимированная сетка без JavaScript и View Transitions
CSS Anchor Positioning позволяет анимировать перестройку grid при изменении размера контейнера без JavaScript и без View Transitions: элементы плавно переезжают в новые позиции и при этом анимация остаётся прерываемой во время ресайза.
https://www.bram.us/2026/09/07/animating-css-grid-layouts-with-css-anchor-positioning/
CSS progress() для адаптивной логики и масштабирования
Новая фича CSS progress() переводит значение в диапазон от 0 до 1 и помогает строить адаптивные размеры, типографику и условные стили без ручных вычислений в JS. Она полезна там, где нужно сравнивать значение с порогом, а не только плавно интерполировать его.
https://blog.master.dev/comparing-values-with-css-progress/
initial-scale в viewport больше не нужен
Для современных браузеров достаточно <meta name="viewport" content="width=device-width">, а initial-scale=1.0 уже не решает актуальных проблем. Это убирает лишний байт в head и упрощает шаблон страницы без потери адаптивности.
https://vale.rocks/micros/20260902-1350
Dropzone.js для загрузки файлов с превью
Dropzone.js упрощает drag and drop загрузку файлов в веб-приложении и сразу показывает превью изображений. Это полезно, когда нужен понятный пользовательский сценарий для загрузки без отдельной формы и лишенной трения валидации. Библиотека уже дает готовую основу, а поведение можно настраивать под свой интерфейс и требования к загрузке.
https://www.dropzone.dev/
Vitest 5 ускоряет тесты и отладку
Vitest 5 заметно ускоряет прогон тестов, особенно в больших изолированных suites, Browser Mode и vm pools, а еще добавляет Trace View для пошаговой отладки браузерных тестов и новый vi.when для удобной подмены модулей по условию.
https://vitest.dev/blog/vitest-5
Кастомный scrollbar почти без JavaScript
Современный CSS позволяет собрать кастомный scrollbar, который сам рассчитывает размер, положение и видимость ползунка через scroll-driven animations, anchor positioning и container queries, а JavaScript нужен только для drag-and-drop. Удобно, когда дизайн-система требует нестандартный скроллбар, а ручные вычисления через scroll и ResizeObserver дают лишние reflow и усложняют поддержку.
https://blog.master.dev/custom-scrollbar-component-in-2026/
Почему главный поток тормозит интерфейс
Главный поток браузера часто становится узким местом не из-за алгоритмов, а из-за того, что на нём одновременно живут JavaScript, обработка событий и большая часть рендера. Для фронтенда это важно, потому что длинные задачи блокируют ввод, скролл и анимации, а значит напрямую бьют по INP и TBT. Практический вывод: оптимизировать нужно не только сеть и бандл, но и время, которое код удерживает main thread.
https://kciter.so/posts/the-expensive-main-thread/en/
CSS Anchor Positioning для тултипов и меню
Anchor Positioning решает старую боль интерфейсов: позволяет прикреплять один элемент к другому без ручной JS-логики для тултипов, дропдаунов и вложенных меню. Для target задаются anchor-name, position-anchor и position-area, а браузер сам следит за переполнением и может переключать элемент на fallback-позицию вроде bottom или flip-block. Это особенно полезно там, где раньше приходилось писать сложный код для пересчёта координат, проверки viewport и переворота подсказки.
https://www.joshwcomeau.com/css/anchor-positioning/
Cordis делает плагины основой архитектуры
Cordis предлагает собирать JS/TS-приложение не вокруг ядра, а из плагинов, где каждый компонент явно описывает зависимости, эффекты, конфигурацию и жизненный цикл. Это полезно для модульных продуктов, плагинных платформ и систем с AI-компонентами: связи между частями становятся формализованными, а изменения можно вносить локально, не разбирая весь bootstrap и набор скрытых договорённостей. На практике Cordis даёт отдельный слой композиции для frontend и backend, а не просто ещё один DI или plugin framework.
https://habr.com/ru/articles/1079044/
Как ускорить сайт при блокировках
Пост про шесть практических мер, которые помогают сайту быстрее открываться при нестабильном интернете и блокировках. В фокусе перенос видео на доступные хостинги, сжатие и перевод изображений в WebP или AVIF, lazy loading для картинок и тяжёлых блоков, а также проверка результата через Network в DevTools.
https://habr.com/ru/companies/itsumma/articles/1077670/
withComponentInputBinding и резолверы в Angular
withComponentInputBinding позволяет передавать данные роута прямо в input routed-компонента, а резолверы выносят загрузку данных из самого компонента. На практике это убирает из страницы знание о ActivatedRoute и сервисах, снижает связанность, упрощает переиспользование и делает тесты чище: компоненту нужен только контракт данных, а не логика их получения.
https://habr.com/ru/articles/1078996/
Оффер 427 000₽ на руки в Сбер и отказались
Оффер 380 000₽ на руки в банк
Оффер 6 800$ net с релокацией на Кипр
Оффер 4 500$ в американскую компанию
👆Это недавние рeзультаты участников нашего комьюнити.
Меня зовут Тихон - я действующий разработчик и ментор. Уже 2 года я развиваю комьюнити, где 300+ разработчиков, и вместе мы выжимаем из рынка максимум!