Интересные публикации
Сурма на SmashingMagazine написал статью о состоянии веб воркеров. Если коротко, поддержка технологии расширяется. С Webpack 4 можно ими пользоваться, для Rollup Сурма написал специальный плагин, а Parcel и вовсе поддерживает его из коробки. Автор считает, что воркеры — ключевой инструмент для поддержки активности основного потока приложений и улучшения UX.
Аксель Раушмайер (Axel Rauschmayer) в своем блоге опубликовал обзор Temporal — нового API для работы с датой и временем. Иммутабельность, более понятный API, номер месяца января — первый, разделение на несколько классов для разных задач. В статье обзор, примеры и даже немного истории о представлении времени. Рекомендую.
Райан Брукс (Ryan Brooks) в блоге AirBnB рассказал о Ghost Platform — системе, которая позволяет быстро доставлять фичи на все поддерживаемые платформы: веб, iOS и Android. В основе лежит подход SDUI или Server Driven UI. В таком случае абсолютно всё приходит с бэка — и сам интерфейс, и данные. Это позволяет контролировать данные и их отображение на всех платформах. Подробнее о том, как принцип SDUI реализован в AirBnB и как это работает, читайте в статье.
Рамона Шверинг (Ramona Schwering) написала статью о ловушках, которые могут поджидать вас при написании тестов для фронтенда. Тесты могут быть медленными, их может быть сложно поддерживать, а иногда они могут быть и вовсе бесполезными. Как избежать этих проблем на этапе написания тестов — Рамона и рассказывает в статье. Кроме того, она делится своими приемами и приводит ссылки на дополнительные материалы по теме.
Мурли Кришна Гаримелла (Murali Krishna Garimella) рассказал о стратегиях предзагрузки модулей в Angular. Лениво загруженные модули можно загружать в фоне, оставляя приложение интерактивным, в целом это ускоряет загрузку приложения. Из коробки стратегий всего две: без предзагрузки и с предзагрузкой всех модулей. Автор рассказывает, как реализовать собственную стратегию предзагрузки и в каких ситуациях это может пригодиться.
Когда клик — это не просто клик? Трэвис Алманд (Travis Almand) на css-tricks рассказал, для чего может быть полезно различать клик от нажатия клавиатуры и клик мышью. Он рассказывает, как это реализовать и как это работает в разных браузерах.
Ещё один материал с css-tricks: статья Райана Маллигана (Ryan Mulligan) о позиционировании накладывающихся элементов при помощи CSS Grid. Он считает, что при помощи гридов контент в таких случая можно организовать логичнее и проще, чем при использовании абсолютного позиционирования. Помимо примеров в статье есть ещё и ссылка на коллекцию сниппетов кода по теме.
Следующий материал посвящается всем фанатам легендарного плагина Emmet. Мануэль Матузович (Manuel Matuzović) на SmashingMagazine опубликовал гайд по объединению сниппетов VSCode и Emmet-команд. Получилось создание кастомных сокращений и ещё более эффективная работа.
Завершает рубрику «Linux для себя». Это русскоязычное ответвление Linux From Scratch — пошаговой инструкции по созданию кастомного Linux под свои нужды. Всем энтузиастам операционных систем рекомендую.
Новости релизов
Вышла версия 1.0 фреймворка Solid.js. Это JavaScript-фреймворк наподобие React и Svelte. По словам автора, это реактивный, предкомпилируемый JSX-фреймворк, который сочетает в себе гибкость React и простоту Svelte. Примеры кода выглядят довольно симпатично, также утверждается, что он самый быстрый. В общем, посмотреть очень даже стоит. А будет ли это просто «ещё один фреймворк» или нет — покажет время.
Microsoft анонсировали бету TypeScript 4.4. В следующей версии TS стоит ожидать обновленную команду --help, улучшения производительности и опциональных свойств. Также в качестве типов индексов можно будет использовать символы и паттерны шаблонных строк. Будем ждать RC и полноценного релиза.
Доступно Safari Technology Preview 127: исправления и улучшения CSS, скроллинга, медиа, Web API, доступности, рендеринга, оптимизация JS.
Вышел Laravel 8.49. Главное изменение — новый метод логгера withContext(). Он позволяет добавлять больше деталей к конкретной записи лога.
Также отмечу релиз ядра Linux 5.13 и багфикс релиз njs 0.6.1.
Другие новости
Заменит ли искусственный интеллект живых людей в написании кода? Для начала пусть хотя бы начнет помогать. GitHub запускает Copilot — основанный на AI продукт, который должен помогать разработчикам писать код. AI обучен на миллиардах строк кода и предлагает фрагменты кода исходя из контекста. Авторы говорят, что это больше, чем автокомплит, и он обучается в процессе написания проекта. По идее, он будет поддерживать большое количество языков и фреймворков. Можно попробовать записаться на бету, но количество мест ограничено, и я не уверен, что они ещё остались. Посмотрим, что из этого получится.
Veracode опубликовала ежегодный отчет по безопасности, точнее, его open-source версию. Согласно ему, 79% сторонних библиотек, которые добавляются в проекты, после этого никогда не обновляются, что приводит к проблемам с безопасностью. Подробности — в отчете.