New We are sorting MAX channels into categories and territories. Read the news
Public channel ID 76923966734853

FRONT | Фронтенд | JavaScript | CSS | TanStack Start | Chrome 158 | Safari 27.2 | Preact 11 | Remix 3 | JPEG XL | TypeScript | Next.js 16.4 | Interop 2027 | WebMCP | React Compiler | Base UI 1.9

Фронтенд каждый день: фичи браузеров, новинки JavaScript и CSS, инструменты и приёмы.

Channels in category
2 112
This channel's rank
№ 986
Open category →
Russia

Posts for the period

By reactions

Search and the whole feed — after free registration. Custom dates — with a subscription; the channel owner sees them for free. Sorting by reactions — with a subscription. Sign up

Loading…

«Кто первым дошёл» измеряет сеть, а не реакцию: 20 мс с Wi-Fi против 150 мс на 4G, туда-обратно 260 мс. Это больше, чем разница реакции между живыми людьми.

Честнее сравнивать метки по общим часам. Отдельный ping не нужен: в каждом SSE-снимке есть now. Считаем offset = now − Date.now() и берём максимум из последних 20 замеров.

Метку сервер принимает с оговорками: окно сбора 250 мс после первого нажатия, не раньше чем за 400 мс до прихода. Кнопка на pointerdown, не click.

https://habr.com/ru/articles/1101810/
Views: 3
Go to post Open in MAX Report an inaccuracy
Потоки помечены Exposed=*, то есть видны и в аудио-воркере. Передать их туда всё равно не получалось: теги сериализации в AudioWorkletGlobalScope отключили вручную, приём падал на десериализации.

В Safari Technology Preview 255 эту ветку убрали — приём идёт по общей проверке видимости интерфейса в глобале. Аудио можно гнать потоком, без буфера в главном потоке.

Firefox 159 и Chromium умели раньше. WebKit догнал последним.

https://webkit.org/blog/18482/release-notes-for-safari-technology-preview-255/
Views: 2
Go to post Open in MAX Report an inaccuracy
WebHID жил только на десктопе — с Chrome 89. Chrome 158 приносит тот же API на Android: Android 17 (API level 37) и новее, без правок в коде. Страница просит разрешение и читает input-репорты с клавиатуры, мыши или геймпада.

Веб-конфигуратор железа перестаёт быть десктопной историей — настраивается с телефона. В WebView API нет: нечем показать выбор устройства.

Бета с 28 октября, стабильно 17 ноября. Firefox и Safari инициативу отклонили, так что это фича Chromium.

https://chromestatus.com/release-notes/158
Views: 1
Go to post Open in MAX Report an inaccuracy
Preact 11 вышел 30 сентября, первый мажор с Preact X.

forwardRef больше не нужен: ref функционального компонента приходит DOM-узлом. Аргументы хуков сравнивают через Object.is, поэтому setCount(NaN) подряд рендера не даёт. Hydration 2.0 разрешает async-границе вернуть ноль узлов или несколько.

Апгрейд в основном про типы. Ядро перестало клеить px к числам в style.

В 11.1 появился preact/compat/compiler-runtime: вывод React Compiler есть куда подставить.

https://preactjs.com/blog/preact-11/
Views: 2
Go to post Open in MAX Report an inaccuracy
В Safari 27.2 появился ::field-content — псевдоэлемент для текста выбранной опции в кнопке select.

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

Пока только WebKit. В Chrome и Firefox псевдоэлемента нет.

https://webkit.org/blog/18515/webkit-features-for-safari-27-2/
Views: 2
Go to post Open in MAX Report an inaccuracy
Имя --cоlоr выглядит как --color, но буквы «о» в нём набраны кириллицей. Формально это валидный идентификатор — и всё же другое имя: у своих свойств важна каждая буква, вплоть до кодпоинта.

Объявили --cоlоr: green, а в правиле var(--color) латиницей — подстановка не находит ничего, и color молча остаётся унаследованным. Ни ошибки, ни предупреждения.

Кириллическая «о» это U+043E, латинская U+006F, на экране их не отличить. Поэтому имя проще копировать из объявления, чем набирать руками.

https://habr.com/ru/companies/ruvds/articles/1097580/
Views: 4
Go to post Open in MAX Report an inaccuracy
Двенадцать стеков, одно приложение на PokéAPI, Opus 5.5 на high effort, пять прогонов. Стоимость разошлась почти вдвое: Hono+htmx $2,67, Astro $2,76, Angular $4,97. Токенов Angular сжёг 9,76 млн против 4,26 млн у Hono — и 17,2 минуты против 8,6.

Обе дешёвые сборки легки на выходе: Astro отдаёт 0 КБ JS, Hono+htmx 18. У Angular 93 КБ, у Next.js 142 и худший LCP — 2090 мс против 810 у Astro.

Цена сборки агентом встала в один ряд с размером бандла — и модный фреймворк в этих числах сам себя не окупает.

Оговорки автора: один голотип — контентный сайт с малым интерактивом, ближе к вики, чем к Gmail; замеры стохастичны, Lighthouse нестабилен; цены — прайс API Claude Code, не реальные траты.

https://nolanlawson.com/2026/10/28/the-ai-cost-of-javascript-frameworks/
Views: 3
Go to post Open in MAX Report an inaccuracy
ASCII-арт в README обычно живёт гифкой на пару мегабайт. ascii.rest отдаёт его веб-компонентом: один module-тег со скриптом на 8 КБ и тег ascii-art с атрибутом piece. Рисуется в pre и наследует цвет с кеглем страницы — это и есть текст.

Пьес 217, каждая тянется своим файлом — donut.js весит 2,5 КБ. Цветные вроде night-coast идут в canvas, атрибут mono сводит такую к одному цвету.

Без их CDN — npx ascii.rest add donut раскладывает пьесу и типы по папкам.

Пакет молодой: релизы с 8 октября, сейчас 0.4.0, до 1.0 API может меняться. Рантайм-зависимостей ноль, но это находка, а не production-grade.

https://ascii.rest/
Views: 3
Go to post Open in MAX Report an inaccuracy
Node 27 в альфе с 29 октября. Релиз не про новые методы, а про смену умолчаний.

Лимит кучи без явного --max-old-space-size теперь половина RAM в границах 256 МБ – 4 ГБ, и память Buffer с ArrayBuffer тоже идёт в счёт. На машине с 14 ГБ умолчание выросло с 2,1 до 4,2 ГБ, в тесном контейнере просядет вниз. Задавать флаг руками.

Ещё v8.serialize, structuredClone и postMessage сменили формат: записанное в 27 в 26.13 не читается — «invalid or unsupported version». В обратную сторону проходит.

https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0
Views: 3
Go to post Open in MAX Report an inaccuracy
browser-whisper 2.0 распознаёт речь целиком в браузере: аудио не уходит на сервер, ключей API нет. Веса качаются один раз, кеш в OPFS.

Модели — от moonshine-tiny на 55 МБ до 2,9 ГБ, по умолчанию whisper-tiny, 120 МБ.

Нужны COOP same-origin и COEP require-corp, иначе многопоточный WASM не поднимется.

WebGPU: Chrome 113+ (полностью с 144), Safari 26, Firefox 141 (Windows). Не Web Speech API из Firefox 158, а сторонняя библиотека с откатом на WASM.

https://github.com/tanpreetjolly/browser-whisper
Views: 7
Go to post Open in MAX Report an inaccuracy
The full feed — after free sign-up
VKontakte Telegram Odnoklassniki
Favorites at datool.ru

Follow the channel in your account

Sign up at datool.ru to add the channel “FRONT | Фронтенд | JavaScript | CSS | TanStack Start | Chrome 158 | Safari 27.2 | Preact 11 | Remix 3 | JPEG XL | TypeScript | Next.js 16.4 | Interop 2027 | WebMCP | React Compiler | Base UI 1.9” to favorites and track its metrics.

Sign up
For channel owners

Verify your channel

Sign in or sign up at datool.ru, then add our bot to the channel following the instructions in your account. Once ownership is verified, the lock disappears and channel management becomes available.

Sign in or sign up

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go