CSS Hooks, инструмент для написания инлайн-стилей с поддержкой псевдоклассов/медиавыражений, проверкой типов, минимальным рантаймом и поддержкой SSR → https://css-hooks.com
12 современных возможностей CSS, качественно улучшающих DX или UX одной строкой кода → https://moderncss.dev/12-modern-css-one-line-upgrades
This media is not supported in your browser
VIEW IN TELEGRAM
Как в Grammarly добивались близкого к нативному UX браузерного расширения: история реализации механизма подчёркивания ошибок в текстовых полях, работающего на разных сайтах → https://www.grammarly.com/blog/engineering/making-grammarly-feel-native-on-every-website/
Как инженеры Dropbox сократили размер JS-бандлов на 33%: история и сложности миграции с самописного легаси-бандлера на Rollup → https://dropbox.tech/frontend/how-we-reduced-the-size-of-our-javascript-bundles-by-33-percent
Абсолютный минимум того, что каждый разработчик должен знать о Unicode: продолжение классической статьи Джоэла Спольски с учётом современных реалий от Никиты Прокопова → https://tonsky.me/blog/unicode/
Избавляемся от вложенности с отложенным завершением промисов: обзор нового метода Promise.withResolvers, который будет добавлен в ES2024 → https://pawelgrzybek.com/deferred-javascript-promises-using-promise-withresolvers/
KeyUX, новая библиотека от Андрея Ситника для реализации горячих клавиш, навигации по меню стрелками и управления переходами фокуса. Минимум JS, работает через прогрессивное улучшение на основе разметки с ARIA-атрибутами → https://github.com/ai/keyux
MDN Curriculum, учебный план по основам фронтенд-разработки со ссылками на проверенные ресурсы по каждой теме. От софт-скиллов и настройки окружения до JS-фреймворков и дизайна для разработчиков → https://developer.mozilla.org/en-US/curriculum/
Последняя безопасная возможность публично выразить протест против войны, против Путина и против фальшивых выборов → https://poldenprotivputina.org
17 марта в воскресенье (через неделю) последний день «выборов» в России. Мы призываем всех россиян присоединиться к акции «Полдень против Путина». Приходите на свой избирательный участок 17 марта в 12:00 по местному времени. Это безопасный и простой способ выразить своим присутствием несогласие с действующей властью, и заодно наладить контакты со своими соседями.
Если вы не можете прийти 17 марта в 12:00, выражайте протест, голосуя в удобное время за любого, кроме Путина. Можете испортить бюллетень, поставив отметки напротив нескольких кандидатов. Несмотря на фальсификации, ваш голос увидят члены избирательных комиссий и чиновники из администрации президента — других безопасных способов массово выразить несогласие с властью в РФ не осталось.
Бездействие — молчаливое согласие с происходящим. Промолчав сейчас, в будущем вам, возможно, будет уже не до фронтенда.
17 марта в воскресенье (через неделю) последний день «выборов» в России. Мы призываем всех россиян присоединиться к акции «Полдень против Путина». Приходите на свой избирательный участок 17 марта в 12:00 по местному времени. Это безопасный и простой способ выразить своим присутствием несогласие с действующей властью, и заодно наладить контакты со своими соседями.
Если вы не можете прийти 17 марта в 12:00, выражайте протест, голосуя в удобное время за любого, кроме Путина. Можете испортить бюллетень, поставив отметки напротив нескольких кандидатов. Несмотря на фальсификации, ваш голос увидят члены избирательных комиссий и чиновники из администрации президента — других безопасных способов массово выразить несогласие с властью в РФ не осталось.
Бездействие — молчаливое согласие с происходящим. Промолчав сейчас, в будущем вам, возможно, будет уже не до фронтенда.
Вам не нужно модальное окно, просто используйте отдельную страницу: несколько соображений о проблемах UX при использовании модальных окон → https://youdontneedamodalwindow.dev
Что присходило с Node.js в 2023 году: верхнеуровневый обзор новостей проекта для тех, кто не следит за развитием Node.js в реальном времени → https://blog.rafaelgss.dev/nodejs-2023-year-in-review
Таблица совместимости JavaScript-рантаймов: список различных API со статусом их поддержки в Node.js, Deno, Bun, workerd и других рантаймах → https://runtime-compat.unjs.io
This media is not supported in your browser
VIEW IN TELEGRAM
Pragmatic Drag & Drop: библиотека от создателей react-beautiful-dnd, призванная решить его ограничения и проблемы. Не зависит от фреймворков, легковесная (~4.7 КБ), полагается на возможности платформы, проверена в продакшене на Trello, Jira и Confluence → https://github.com/atlassian/pragmatic-drag-and-drop
Что происходит под капотом браузера при открытии страницы: описание закулисных процессов браузера и их влияния на UX, от DNS-запросов до выполнения JS → https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work
Современные команды Git, которые стоит использовать: обзор сравнительно новых (и поэтому малоизвестных) команд, делающих повседневную работу проще → https://martinheinz.dev/blog/109
ESLint Config Inspector, добавленный в ESLint 9.0.0 визуальный инспектор правил из вашего конфига, призванный упростить исследование конфигураций с большим количеством оверрайдов и плагинов → https://eslint.org/blog/2024/04/eslint-config-inspector/
Введение в CSS scope, новый механизм для ограничения области действия селекторов, позволяющий отказаться от использования соглашений по именованию вроде БЭМ или сторонних инструментов вроде CSS-модулей → https://12daysofweb.dev/2023/css-scope/
Как устроены кривые Безье, используемые в векторной графике и анимациях: объяснение с интерактивными примерами → https://blog.richardekwonye.com/bezier-curves
Ladle, альтернатива Storybook от разработчиков Uber с фокусом на быструю сборку, минимальный бандл и высокую отзывчивость интерфейса → https://ladle.dev
Миграция 500+ тестов с Mocha на нативный тест-раннер Node.js: разработчики Astro рассказывают о процессе переезда, обнаруженных проблемах и результатах миграции → https://astro.build/blog/node-test-migration/