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/
Anchor Positioning решает старую боль интерфейсов: позволяет прикреплять один элемент к другому без ручной JS-логики для тултипов, дропдаунов и вложенных меню. Для target задаются anchor-name, position-anchor и position-area, а браузер сам следит за переполнением и может переключать элемент на fallback-позицию вроде bottom или flip-block. Это особенно полезно там, где раньше приходилось писать сложный код для пересчёта координат, проверки viewport и переворота подсказки.
https://www.joshwcomeau.com/css/anchor-positioning/
❤13👍1
Как Next.js закрыл 1500 issue за месяц
Команда Next.js показала рабочий пайплайн для разгребания большого GitHub backlog: агент в изолированной среде собирает доказательства по issue, ищет связанные PR и коммиты, пытается воспроизвести баг на разных версиях и возвращает структурированное решение о закрытии. Это важно, если у вас есть свой open source или внутренний продукт с потоком багрепортов: ручная модерация плохо масштабируется, а возраст issue сам по себе ничего не говорит о его актуальности.
https://nextjs.org/blog/how-we-closed-1500-github-issues
Команда Next.js показала рабочий пайплайн для разгребания большого GitHub backlog: агент в изолированной среде собирает доказательства по issue, ищет связанные PR и коммиты, пытается воспроизвести баг на разных версиях и возвращает структурированное решение о закрытии. Это важно, если у вас есть свой open source или внутренний продукт с потоком багрепортов: ручная модерация плохо масштабируется, а возраст issue сам по себе ничего не говорит о его актуальности.
https://nextjs.org/blog/how-we-closed-1500-github-issues
🔥18👍5⚡2❤1😁1
Почему главный поток тормозит интерфейс
Главный поток браузера часто становится узким местом не из-за алгоритмов, а из-за того, что на нём одновременно живут JavaScript, обработка событий и большая часть рендера. Для фронтенда это важно, потому что длинные задачи блокируют ввод, скролл и анимации, а значит напрямую бьют по INP и TBT. Практический вывод: оптимизировать нужно не только сеть и бандл, но и время, которое код удерживает main thread.
https://kciter.so/posts/the-expensive-main-thread/en/
Главный поток браузера часто становится узким местом не из-за алгоритмов, а из-за того, что на нём одновременно живут JavaScript, обработка событий и большая часть рендера. Для фронтенда это важно, потому что длинные задачи блокируют ввод, скролл и анимации, а значит напрямую бьют по INP и TBT. Практический вывод: оптимизировать нужно не только сеть и бандл, но и время, которое код удерживает main thread.
https://kciter.so/posts/the-expensive-main-thread/en/
👍6❤1🔥1
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/
Бесплатный курс по 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/
🔥7❤4👍2👎1
Кастомный 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/
Современный 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/
👍10❤🔥2🔥2❤1🤔1
Как связать 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
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
❤5👍1
Vitest 5 ускоряет тесты и отладку
Vitest 5 заметно ускоряет прогон тестов, особенно в больших изолированных suites, Browser Mode и vm pools, а еще добавляет Trace View для пошаговой отладки браузерных тестов и новый vi.when для удобной подмены модулей по условию.
https://vitest.dev/blog/vitest-5
Vitest 5 заметно ускоряет прогон тестов, особенно в больших изолированных suites, Browser Mode и vm pools, а еще добавляет Trace View для пошаговой отладки браузерных тестов и новый vi.when для удобной подмены модулей по условию.
https://vitest.dev/blog/vitest-5
🔥8❤1
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
Набор проверок, которые помогают ловить ошибки в 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
❤10🔥5😁5🎃1
Dropzone.js для загрузки файлов с превью
Dropzone.js упрощает drag and drop загрузку файлов в веб-приложении и сразу показывает превью изображений. Это полезно, когда нужен понятный пользовательский сценарий для загрузки без отдельной формы и лишенной трения валидации. Библиотека уже дает готовую основу, а поведение можно настраивать под свой интерфейс и требования к загрузке.
https://www.dropzone.dev/
Dropzone.js упрощает drag and drop загрузку файлов в веб-приложении и сразу показывает превью изображений. Это полезно, когда нужен понятный пользовательский сценарий для загрузки без отдельной формы и лишенной трения валидации. Библиотека уже дает готовую основу, а поведение можно настраивать под свой интерфейс и требования к загрузке.
https://www.dropzone.dev/
👍6❤2
initial-scale в viewport больше не нужен
Для современных браузеров достаточно <meta name="viewport" content="width=device-width">, а initial-scale=1.0 уже не решает актуальных проблем. Это убирает лишний байт в head и упрощает шаблон страницы без потери адаптивности.
https://vale.rocks/micros/20260902-1350
Для современных браузеров достаточно <meta name="viewport" content="width=device-width">, а initial-scale=1.0 уже не решает актуальных проблем. Это убирает лишний байт в head и упрощает шаблон страницы без потери адаптивности.
https://vale.rocks/micros/20260902-1350
👍11❤1
Anthropic запустила claude.dev — блог для разработчиков с кейсами
Это не просто документация, а живой практический блог инженерной команды компании. Документация по-прежнему живёт на code.claude.com/docs, а здесь публикуют подробные статьи, сценарии из реальной жизни, опыт команд и конкретные кейсы.
https://claude.dev
Это не просто документация, а живой практический блог инженерной команды компании. Документация по-прежнему живёт на code.claude.com/docs, а здесь публикуют подробные статьи, сценарии из реальной жизни, опыт команд и конкретные кейсы.
https://claude.dev
👍9❤1
CSS progress() для адаптивной логики и масштабирования
Новая фича CSS progress() переводит значение в диапазон от 0 до 1 и помогает строить адаптивные размеры, типографику и условные стили без ручных вычислений в JS. Она полезна там, где нужно сравнивать значение с порогом, а не только плавно интерполировать его.
https://blog.master.dev/comparing-values-with-css-progress/
Новая фича CSS progress() переводит значение в диапазон от 0 до 1 и помогает строить адаптивные размеры, типографику и условные стили без ручных вычислений в JS. Она полезна там, где нужно сравнивать значение с порогом, а не только плавно интерполировать его.
https://blog.master.dev/comparing-values-with-css-progress/
👍5❤2
Что нового в 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/
В 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/
❤8
Анимированная сетка без 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 Anchor Positioning позволяет анимировать перестройку grid при изменении размера контейнера без JavaScript и без View Transitions: элементы плавно переезжают в новые позиции и при этом анимация остаётся прерываемой во время ресайза.
https://www.bram.us/2026/09/07/animating-css-grid-layouts-with-css-anchor-positioning/
🔥6❤3👍1
Forwarded from 🦜 on the web
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт: появляется в интернете.
Веб-краулер: ну здравствуй.
Веб-краулер: ну здравствуй.
🔥18👻4👍1
Набор мини-библиотек для HTML, событий и fetch
Набор маленьких standalone-библиотек для веба: для усиленного HTML, inline-скриптинга и реактивности, streaming HTML и events, DOM patching и удобных fetch() wrapper'ов. Полезно, если нужен точечный инструмент вместо тяжёлого фреймворка: каждая часть подключается отдельным скриптом, а весь набор можно взять одним файлом или через npm.
https://fixiproject.org/
Набор маленьких standalone-библиотек для веба: для усиленного HTML, inline-скриптинга и реактивности, streaming HTML и events, DOM patching и удобных fetch() wrapper'ов. Полезно, если нужен точечный инструмент вместо тяжёлого фреймворка: каждая часть подключается отдельным скриптом, а весь набор можно взять одним файлом или через npm.
https://fixiproject.org/
🔥9❤1
Fetch возвращает ответ раньше тела
Fetch promise завершается после заголовков, а тело продолжает приходить по открытому соединению. Это влияет на чтение ответа, clone, abort и таймауты: если тело не дочитать, можно потерять reuse соединения и получить лишнюю нагрузку в Node и браузере.
https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/
Fetch promise завершается после заголовков, а тело продолжает приходить по открытому соединению. Это влияет на чтение ответа, clone, abort и таймауты: если тело не дочитать, можно потерять reuse соединения и получить лишнюю нагрузку в Node и браузере.
https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/
👍7❤🔥2⚡2❤1
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
Rslib 1.0 даёт единый пайплайн для сборки JavaScript-библиотек: ESM, CJS, UMD, IIFE и Module Federation, генерацию declaration files, поддержку React, Vue, Svelte и Solid, а также bundle и bundleless режимы под разные сценарии публикации и интеграции.
https://rslib.rs/blog/v1-0
👍11❤2🤣1
ESLint Config Inspector показывает медленные правила
ESLint Config Inspector 3.4 добавил анализ времени выполнения правил, который помогает быстро найти, какие именно правила тормозят linting. Это полезно для больших конфигов ESLint, где проверка начинает заметно замедлять сборку и локальную разработку. Теперь можно точечно отключать или упрощать самые дорогие правила и ускорять прогон линтера без гадания
https://github.com/eslint/config-inspector
ESLint Config Inspector 3.4 добавил анализ времени выполнения правил, который помогает быстро найти, какие именно правила тормозят linting. Это полезно для больших конфигов ESLint, где проверка начинает заметно замедлять сборку и локальную разработку. Теперь можно точечно отключать или упрощать самые дорогие правила и ускорять прогон линтера без гадания
https://github.com/eslint/config-inspector
⚡10❤🔥4❤3🤣1
Почему переключатель dark mode не нужен
Для большинства сайтов постоянный переключатель light/dark не нужен: он добавляет лишнее решение в интерфейс и хуже работает, чем автоматическое следование системной теме. Если переключатель всё же нужен, вариант с двумя вариантами лучше варианта с тремя, потому что он покрывает все сценарии без отдельного пункта System в UI.
https://lea.verou.me/blog/2026/dark-mode-toggles-2/
Для большинства сайтов постоянный переключатель light/dark не нужен: он добавляет лишнее решение в интерфейс и хуже работает, чем автоматическое следование системной теме. Если переключатель всё же нужен, вариант с двумя вариантами лучше варианта с тремя, потому что он покрывает все сценарии без отдельного пункта System в UI.
https://lea.verou.me/blog/2026/dark-mode-toggles-2/
👎22🤔10👍8🤡6🤣3