Новости 512 #164

В этом выпуске: микрофронтенды в Delivery Club, JS-классы, смарт-контракты с Ethereum, отчеты о состоянии JS-фреймворков и стейт-менеджеров на первый квартал 2021, Django 3.2 и опрос о скролле от команды Google Chrome.

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

Сегодняшний выпуск начнется со статьи о микрофронтендах и их внедрении в Delivery Club. Delivery было сложно жить с монолитом, страдало тестирование и были проблемы с развертыванием. В статье описывается старое устройство проекта и, собственно, переход на микрофронтенды. Спойлер: оно того стоило.

Следующий материал — о переходе с Parcel на Snowpack. Бен Фрейн (Ben Frain) поделился своим опытом миграции. Он сравнивает оба бандлера, рассказывает о принципах их работы и возможностях. В итоге Бен заключает, что Snowpack — достаточно сформировавшийся инструмент, и им можно пользоваться, несмотря на то, что он пока не очень распространен.

Джейк Арчибальд (Jake Archibald) продолжает свою серию о производительности. В этот раз исследуется сайт McLaren. Главная проблема — загрузка большого CSS-файла со стороннего домена. Кроме того, содержимое страницы отображается после события DOMContentLoaded. Загрузка сторонних скриптов, блокирующих парсинг страницы, напрямую влияет на это событие, и появление контента задерживается. Есть и проблемы с изображениями. После всех предложенных оптимизаций время загрузки упало с 25 до 3 секунд.

Андреа Джиаммарки (Andrea Giammarchi) написал статью о JavaScript-классах. Суть в том, что автор считает некорректным называть классы синтаксическим сахаром для прототипов. Многие фичи JavaScript-классов можно выразить на ES5, но они будут проигрывать в скорости и безопасности. В итоге, принципы прототипного наследования на функциях и классах похожи, но это не одно и то же.

Закончился первый квартал 2021 и Алексей Антипов подвел его итоги в области JS-фреймворков и стейт-менеджеров. Получилось 2 отчета со сравнением разных инструментов по многих показателям: от количества звезд до возраста и лицензии. В каждом из отчетов рассматривается около 20 инструментов, это неплохой способ посмотреть на тренд и познакомиться с другими инструментами.

В прошлом выпуске я говорил об измерении Web Vitals в «боевых» условиях. Эту же тему на SmashingMagazine поднял Барри Поллард (Barry Pollard). Его гайд несколько более объёмный и подробный, но в нём речь также идет про сбор данных реальных пользователей для исправления проблем, влияющих на метрики.

В завершение рубрики — немного практики и экспериментов: скрейпинг с Node.js и Playwright, полный гайд по разработке full-stack приложения, которое работает с блокчейном Ethereum, и туториал для начинающих по разработке игр на Unity.

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

Крупных релизов к этому выпуску не случилось, поэтому пробежимся коротко.

Angular отметился релизами 11.2.10 и 12.0.0 next-9. Релиз-кандидатов 12 версии пока не было.

Вышел Django 3.2. Это релиз с длительным сроком поддержки, на ближайшие 3 года. Кроме фреймворка вышло обновление Django Debug Toolbar. Это был security-релиз.

Также отмечу релизы Cypress 7.1 и eslint-plugin-vue 7.9.0.

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

Core team браузера Google Chrome объявила о начале опроса о скролле. У вас есть возможность поучаствовать и дать обратную связь, поделиться мнением, что не так со скроллом и что можно было бы сделать лучше. Опрос рассчитан на 5-10 минут.

Wrike отказывается от языка Dart. Если коротко, язык перестал удовлетворять все потребности разработки. Отмечается, что Dart по-прежнему останется большой частью разработки, ведь на нём написано около 2 500 000 строк кода, а для новых проектов будут использовать другой стек. В первой статье на Хабре есть подробности и история выбора текущего технического стека, во второй критерии выбора нового стека и ответы на часто задаваемые вопросы, связанные с переходом. В качестве нового стека выбрали TypeScript в связке с React.

И небольшая экспресс-новость. В Firefox Nightly появилась поддержка QUIC и протокола HTTP/3.

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

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

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