Интересные публикации
Хуссейн Джирде (Houssein Djirdeh) и Джейсон Миллер (Jason Miller) на web.dev рассказали, как улучшить производительность сайта современным синтаксисом ES2017. Предлагается просто собирать два бандла — лёгкий на ES2017 и тяжёлый на ES5 — и использовать module/nomodule для доставки нужного бандла. Также авторы разбирают, как это сделать с помощью webpack и rollup. Помимо этого в статье анонсировали сервис EStimator.dev, который оценивает, насколько улучшится производительность с ES2017.
Юбер Саблоньер (Hubert Sablonniere) в своём блоге решает проблему сдвигов во время переключения состояний компонентов в интерфейсе. Для этого он использует CSS Grid. Автор приводит описание самой проблемы и объясняет, почему её не очень удобно решать при помощи абсолютного позиционирования. Также Юбер рассказывает о решении на гридах и его преимуществах. На CSS-live есть перевод на русский от Ильи Стрельцина.
Артём Захарченко на dev.to поднимает тему моков в тестировании. Он рассказывает, что такое моки в принципе, зачем они нужны, какие есть подводные камни и когда их лучше всего использовать. Также затрагивается использование моков в тестах разного уровня: unit-тестах, интеграционных и end-to-end тестах.
Барри Поллард (Barry Pollard) на perfplanet рассказывает, как встроить проверки Lighthouse в проект с помощью Github Actions. В статье есть не только базовый пример использования, но и пример кастомизации набора проверок. Например, в случае Барри были актуальны неоптимизированные изображения, проблемы доступности и ещё некоторые параметры.
Type Challenges — набор задач по TypeScript. По задумке автора Энтони Фу (Anthony Fu) они помогут разобраться в тонкостях работы системы типов и освоить TypeScript. Задачи разделены на разные уровни — от «Hello, world!» до экстремально сложных. Дерзайте и попробуйте свои силы!
Джош Комо (Josh Comeau) в своём блоге подробно разобрал, как и почему схлопываются margin. Статья обширная и снабжена интерактивными примерами.
Нуани Виктори (Nwani Victory) на SmashingMagazine написал большую статью о создании чат-бота для сайта с помощью Google Dialogflow. Нуани рассказывает о самой платформе, настройках и обучении бота разным типам ответов. На все примеры можно посмотреть в деморепозитории, также автор оставил в конце статьи полезные ссылки.
Завершит рубрику материал о собеседованиях. Адилет Жаксибай (Adilet Zhaxybay), бывший инженер Google, создал ресурс interviews.school. Он посвящён аспектам подготовки к интервью и составлению резюме. Также там есть подборка алгоритмов на случай, если вас попросят переворачивать деревья на доске. Советы автора подходят, скорее, для трудоустройства в иностранные компании, но наверняка найдётся что-то полезное для каждого.
Новости релизов
Появилась первая бета Bootstrap 5. В июне команда фреймворка рассказала о начале разработки пятой версии и появлении первой альфы. В бете добавили поддержку текста справа налево и utilities API, который позволяет просто кастомизировать и обновлять утилиты Bootstrap. Идёт работа по оптимизации JS: в планах уменьшить размер JS и поработать над производительностью.
Вышла версия Wordpress 5.6 «Simone». Это достаточно большой релиз. В нём улучшили гибкость разметки и добавили новые блоки. Также пропатчили автообновление, добавили больше поддержки PHP 8 и авторизацию через REST API Application Passwords.
Laravel обновился до версии 8.5.5 и вышла версия ядра Linux 5.10 и важный хотфикс версии 5.10.1.
Другие новости
Продолжаем подводить итоги года. Опубликован «Веб-альманах 2020» — подробный отчёт HTTP Archive о состоянии веба. Отчет состоит из 22 глав, среди проанализированных областей: HTML, CSS, JS, SEO, CMS, доступность, приватность, безопасность и другие.
Инженеры Mozilla запустили новую платформу Yari для MDN Web Docs. Переход на неё — часть плана по упрощению дополнения документации сообществом разработчиков. Теперь для публикации контента можно просто создать pull request. Также с сообществом обещают больше работать и быстрее обрабатывать обратную связь. В дальнейших планах: внедрение новой стратегии локализации, добавление поддержки Markdown и улучшение поиска.