Интересные публикации
В блоге V8 появилась статья о Sparkplug — новом неоптимизирующем компиляторе, который появился в V8 9.1. Без оптимизаций компиляция происходит быстрее. При таком подходе код начинает выполняться быстрее на этапе загрузки, и появляется возможность переключаться на оптимизированный код и обратно. Стратегия эффективная, потому что в начале многие оптимизации нельзя применить, т.к. нет информации об исполнении кода. Сейчас получилось достичь прироста 5-15%, и пока реализованы не все идеи, связанные с новым компилятором. В блоге V8 есть больше технических подробностей.
В прошлом выпуске я рассказывал про видео Андрея Мелихова, посвященное Server-Sent Events. После первого выпуска накопилось много вопросов, на главный из них — какие у технологии ограничения, и как их обойти — Андрей старается ответить в продолжении. Небольшой спойлер: HTTP/2 используется для обхода ограничения на количество потоков, которое есть в HTTP/1.1.
Джейк Арчибальд (Jake Archibald) и Сурма (Surma) собрались на очередной стрим, чтобы обсудить прогрессивную загрузку изображений. Они разбирают разные форматы изображений: JPEG, JPEG-XL и AVIF — и обсуждают их возможности и особенности. В описании к видео можно найти ссылки на все инструменты и материалы, которые Джейк и Сурма упоминают.
На Хабре был опубликован перевод первых двух частей официальной настольной книги по TypeScript от Microsoft. Переведенные части посвящены основам и типам на каждый день. Ожидается продолжение серии переводов.
Следующий материал — о регулярном обслуживании Node.js-приложений от Адриана Эстрады (Adrian Estrada). Он говорит о трёх аспектах: обновлении зависимостей, управлении версией Node.js и поддержке архитектуры. Кратко пройдёмся по ним: Адриан рекомендует регулярно обновлять зависимости, менять версию Node.js раз в год с выходом новой LTS-версии и раз в два года оценивать архитектуру и более верхнеуровневые инструменты. По каждому пункту он дает подробную характеристику и рекомендации по оптимальной стратегии применения изменений.
Дмитрий Павлютин в своем блоге написал статью о том, как работать с асинхронными сайд-эффектами в React. Конкретнее, он рассматривает ситуацию, когда происходит попытка обновления состояния демонтированного компонента после завершения сайд-эффекта. Это может происходить, например, во время выполнения запросов к серверу, при операциях типа setTimeout(), троттлинге или дебаунсе. В итоге автор рекомендует очищать сайд-эффекты при демонтировании компонента — он делает это, возвращая функцию очистки в коллбэке хука useEffect. Если сайд-эффект зависит от пропсов или состояния, то стоит задуматься об очистке и при изменении их значений.
Шалаб Виас (Shalabh Vyas) опубликовал на SmashingMagazine вторую часть о разработке WYSIWYG-редактора. На этот раз он реализует комментирование текста.
Как Container Queries повлияют на веб? Макс Бёк (Max Böck) считает, что фича поможет дальнейшему развитию веб-компонентов. Автор использует Container Queries для создания веб-компонента, который изменяется в зависимости от места его использования. Макс настроен оптимистично: по его мнению, открываются возможности для создания полностью адаптивных и независимых веб-компонентов.
Ещё немного о Container Queries. Ахмад Шадид (Ahmad Shadeed) написал в своем блоге статью о том, как фича может повлиять на адаптивный дизайн. Начинает он с того, как в общем процесс построен сейчас и как опирается на медиа-выражения. Он рассматривает пример, в котором создаются разные версии интерфейса, и объясняет, как старый подход может измениться с выражениями от контейнера и какие проблемы это может решить.
Подборка полезных плагинов и инструментов для VSCode на SmashingMagazine от Козимы Мильке (Cosima Mielke). Можно найти большое количество инструментов для самых разных целей: от работы с логами, подсветки и дебаггинга до работы с git, GitHub и полезных приемов по работе с редактором. В статье есть оглавление, вы наверняка увидите там и знакомые инструменты, но взглянуть стоит, возможно, там найдётся полезная тулза поновее.
Завершают рубрику 2 материала, посвященные CSS. Первый — это сборник новых фич CSS с конференции hover 2021. Все возможности разделены по риску: от тех, которые, скорее всего, не будут реализованы, до таких, которые уже поддерживаются или уже вот-вот будут. Есть удобное оглавление, про каждую фичу можно прочитать подробнее, увидеть пример применения или ознакомиться со спецификацией, а также узнать, кто автор предложения. Второй материал называется «25 лет CSS» — это Эрик Мейер (Eric Meyer) в своём блоге ностальгирует и рассказывает о зарождении CSS.
Новости релизов
Вышло Safari Technology Preview 125. В этом релизе: больше улучшений веб-инспектора, рендеринга и WebRTC. Также выпустили много исправлений и улучшений CSS и разных Web API. Продолжается работа над расширением поддержки WebAssembly.
Доступна версия Cypress 7.4.0. C этой версии Cypress умеет распознавать и поддерживает тестирование в бете Google Chrome, также были добавлены три хоткея: для продолжения или перехода к следующему тесту в тест-раннере и для включения/отключения автоскролла. Кроме новых фич выпустили очередную порцию багфиксов.
Также отмечу релиз nginx Unit 1.24.0.
Другие новости
В Chrome Canary появится экспериментальная фича подписки на любимые ресурсы. По идее она будет основана на стандарте RSS и позволит подписываться на RSS-ленты. Начнут с небольшого количества пользователей Chrome Canary в США на Android. Видимо, по результатам эксперимент будут расширять или сворачивать, посмотрим, что получится.
Node.js исполнилось 12 лет. 27 мая 2009 года вышла версия 0.0.1. Сейчас это широко применяемый и популярный рантайм, без которого сложно представить работу современного фронтенд-разработчика и не только, хотя в самом начале к нему относились довольно скептически. Не постесняйтесь поздравить команду Node.js в твиттере.