Новости 512 #187

В этом выпуске: демистификация промисов, Yarn 3, стили и Shadow DOM, SQL в вебе, продолжение статьи о рефакторинге CSS, релиз-кандидат TypeScript 4.4 и Joomla 4.0.

Интересные публикации

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

У вас когда-нибудь была мечта реализовать интерактивную диаграмму Ганта на чистом JavaScript? Поздравляю, этой мечте суждено сбыться. Анна Пренцел (Anna Prenzel) опубликовала гайд, в котором это делает. В статье она создает переиспользуемый компонент, календарь на CSS Grid и перетаскивание задач.

Еще одна практическая штучка. Адам Аргайл (Adam Argyle) продолжает реализовывать разнообразные компоненты. На этот раз его жертва — переключатель. Компонент доступный и респонсивный, есть и вертикальная версия. В самой статье Адам рассуждает о том, как оптимальнее всего реализовывать компонент, и призывает форкать и обсуждать его демо.

Правда ли то, что Shadow DOM ускоряет вычисление стилей? Хороший вопрос, а ответить на него пытается Нолан Лоусон (Nolan Lawson) в своем блоге. Ответ: всё-таки да, но не всегда. Из-за инкапсуляции стили с Shadow DOM в большинстве случаев будут вычисляться быстрее. С другой стороны, некоторые селекторы быстры сами по себе. Автор начинает с разбора пайплайна рендеринга и приводит бенчмарк, который использовал. Вполне возможно, будет продолжение, потому что не на все вопросы удалось получить ответы.

Статью об использовании вычислительных функций CSS для разных целей написала Стефани Эклз (Stephanie Eckles). Речь идет о функциях min(), max(), clamp() и calc(). Она коротко рассказывает, для чего нужна каждая из них, а потом показывает более креативные примеры применения. Например, генерация цветовой палитры, использование одних функций внутри других и так далее.

Адриан Беце (Adrian Bece) продолжил свою серию о рефакторинге CSS — на SmashingMagazine вышла вторая часть. В первой статье Адриан касался анализа кодовой базы и вредных последствий разных проблем. В этой части речь идет о стратегиях рефакторинга, регрессионном тестировании и дальнейшей поддержке CSS. Он предлагает целых 4 разных стратегии и показывает пример инкрементальной. А для избежания регрессий в коде подсказывает пару инструментов для автоматизации проверок.

Ахмад Шадид (Ahmad Shadeed) в своем блоге рассказал о результатах опроса о Mobile First и Desktop First подходах разработки интерфейсов. Он разбирает сами понятия и показывает, как они выглядят в процессе разработки. Кроме того, Ахмад делится своим опытом разработки респонсивных интерфейсов.

Закрывает рубрику Джеймс Лонг (James Long) и его статья о SQL в вебе. Он представил absurd-sql: его собственный проект, позволяющий использовать SQLite и IndexedDB как базу и, соответственно, пользоваться всеми преимуществами БД и SQLite. Польза не проде? Очень вряд ли. Но посмотреть, как это было реализовано, и сделать какой-нибудь локальный проектик очень даже стоит.

Новости релизов

Вышла третья мажорная версия Yarn. В новой версии поработали над скоростью исполнения самых ресурсоемких операций — как можете догадаться, над установкой и выполнением скриптов. Прокачали линкер для модулей, добавили поддержку ESBuild и новый API для плагинов. Кроме того, команда разработчиков обещает гораздо более плавный переход на третью версию с любой другой версии Yarn. Конечно, были и breaking changes, например, больше не поддерживается Node.js 10. Больше — подробностей в чейнджлоге проекта.

Случился релиз Node.js 16.7.0. В этой версии в модуль fs добавили экспериментальный рекурсивный метод cp, который асинхронно копирует папку и все вложения в указанное место назначения. Также не обошлось и без обновлений документации и других небольших улучшений.

Firefox 91 не успел выйти, как прилетела заплатка. В этот раз без проблем с безопасностью: в патче 2 небольших фикса поведения табов и другие мелкие улучшения стабильности.

Доступно Safari Technology Preview 130. В нём два JS-метода для массивов findLast и findLastIndex, несколько улучшений CSS, а также улучшения IndexedDB, Web API и Media.

Вышел релиз-кандидат TypeScript 4.4. В этой версии подъедут улучшения производительности и опциональных свойств и обновленная команда --help. Помимо этого, в качестве типов индексов можно будет использовать символы и паттерны шаблонных строк.

Язык Go отметился релизом версии 1.17. Чуда не случилось, дженерики не появились. Тем не менее, была добавлена поддержка Windows для 64-разрядной архитектуры ARM, также были переработаны методы передачи аргументов в функции и возврата результатов — это позволило немного ускорить выполнение и уменьшить размер бинарников. Продолжается работа над оптимизацией компилятора.

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

Также отмечу релиз nginx Unit 1.25.0 с кешем SSL/TLS-сессий и релиз Debian 11.

Другие новости

Какое-то время назад команда GitHub анонсировала прекращение поддержки выполнения команд с аутентификацией по паролю. Так вот, это произошло. Что это значит? Например, запушить, просто введя пароль от аккаунта, не получится. С паролем можно будет работать только при включенной двухфакторной аутентификации и наличии дополнительного ключа. Это было сделано в целях усиления безопасности, а пользоваться теперь нужно SSH-ключами или токенами.

Продолжается очистка MDN. Я уже рассказывал, что теперь заходить на портал и поддерживать документацию MDN можно через GitHub-аккаунт, а старую базу с пользователями удалили совсем. Следующим этапом заархивировали значительную часть устаревшего или не совсем профильного контента. Например, архив живет в одном репозитории, а документация по продуктам Firefox (таким, как сам Firefox, Mercurial, Spidermonkey, Thunderbird и другим) — на специальной странице.

Пишите нам и читайте

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

Продолжая пользование данным Сайтом, вы даете свое согласие на сбор и обработку технической информации (cookies). Подробнее о cookies читайте вПолитике конфиденциальности.