Интересные публикации
Наш коллега Никита Голубов написал статью о CSS Grid. Он делится своим опытом работы с технологией на реальных примерах: от создания простой колоночной сетки и разметки страницы на области до форм и диаграмм. Также Никита рассказывает о подводных камнях гридов.
Джереми Вагнер (Jeremy Wagner) опубликовал статью об использовании сервис-воркеров, в которой он рассматривает кейс с ненадежным сетевым соединением. Добавление сервис-воркера с полным кешированием ответа улучшило производительность на 10-20%. После этого Джереми сохранил заголовок и футер в оффлайн-кеше и добавил динамическое формирование всей страницы в сервис-воркере. Это улучшило First Contentful Paint на 40%, а Largest Contentful Paint — на 51%.
Адам Аргайл (Adam Argyle) на web.dev продолжает свою серию GUI Challenges, в которой разбирает распространенные пользовательские интерфейсы. В этот раз он рассказывает о создании компонента настроек. Он строит компонент, начиная с базовой разметки и цветов, создает кастомные инпуты с чекбоксами и выбором диапазона. Также он уделяет внимание доступности и рассказывает о JS для работы с итоговой формой. Помимо статьи доступно и видео.
Томас Хантер (Thomas Hunter) в своём блоге написал статью о том, как могут завершаться Node.js-процессы. Он рассматривает 3 случая: выход при помощи exit(), разного рода ошибки и сигналы операционной системы. Дело в том, что в определенных случаях некоторые способы менее предпочтительны, а иногда завершение процесса вызывается случайно, или неправильно обрабатывается ошибка. В каждом блоке он подробно разбирает способ завершения и делится тем, как корректно поступить в том или ином случае. Получилась компактная, но интересная и достаточно подробная статья, рекомендую.
Джаред Уайт (Jared White) на dev.to написал заметку о незрелости экосистемы JavaScript. В чём проблема? Куча непонятных багов, недоработок и странных «фич», которые на самом деле те же недоработки. Джаред считает, что авторы инструментов уделяют больше внимания звездам на гитхабе и маркетингу библиотек, чем своим пользователям. Это приводит к нестабильности работы проектов и путанице, неуверенности в среде разработчиков. Он призывает авторов библиотек быть честнее, улучшать свои библиотеки и взаимодействовать с пользователями, а также советует брать пример с таких проектов, как Webpack и PostCSS.
Команда Evrone опубликовала новое интервью. На этот раз их гостем был Юкихиро Мацумото — автор языка Ruby. Конечно же, говорили в основном о Ruby: обсудили разработку и проектирование языка, новые фичи Ruby 3.0, затронули параллелизм и многозадачность, а также планы по развитию Ruby. Сразу скажу, что определенных планов пока нет, все силы уходят на развитие Ruby 3, но идеи уже есть. Также Юкихиро посоветовал обучающие ресурсы railstutorial.org и guides.rubyonrails.org. Он считает, что создание веб-приложений — отличная отправная точка для изучения программирования.
На debugbear появился обзор основных проблем rel=”preload”. Напомню, что preload указывает на приоритет загрузки ресурса. Сначала рассматривается ожидаемая работа preload, а потом несколько случаев, когда что-то идет не так: предзагрузка слишком большого количества файлов, неправильный приоритет загрузки и проблема с CORS. Естественно, приведены и решения этих проблем.
Виталий Фридман на SmashingMagazine опубликовал большой список доступных фронтенд-компонентов: от кнопок и каруселей до таблиц, тогглеров и подсказок. Всё в алфавитном порядке и со ссылками, можно просто посмотреть интересующий вас компонент.
Заключительный материал рубрики — гайд по профилированию React-приложений от Ови Оке (Ovie Okeh). В частности, он говорит о двух инструментах — расширении React Devtools и компоненте Profiler. Гайд достаточно базовый и скорее обзорный. Автор проходится по всем возможностям инструментов и поясняет их работу. После этого приводит небольшой пример сессии профилирования. Стоит посмотреть, если вы абсолютно незнакомы с этими инструментами.
Новости релизов
Вышел Firefox 87. Что нового: событие beforeinput и метод getTargetRanges() больше не экспериментальные. Они нужны для гибкого задания поведения при редактировании текста, например, для автозамены или предотвращения редактирования. В DevTools теперь поддерживается prefers-color-scheme для эмуляции темы операционной системы. В инспекторе страницы теперь можно удобно устанавливать псевдокласс :target на выбранном DOM-узле. Backspace больше не используется для навигации по истории, а в macOS теперь поддерживается скринридер VoiceOver.
Браузер Tor отметился релизом версии 10.0.14. Этот релиз был направлен на стабилизацию загрузки обновлений, теперь загрузка может автоматически возобновляться. Кроме того, как обычно, произошла синхронизация с Firefox SRE.
Вышло обновление npm 7.7.4. С момента релиза версии 7.5 работа в основном была направлена на багфиксы и минорные улучшения. Также появилась поддержка воркспейсов командами exec и run-script, была расширена система подсказок «Did you mean?» для отсутствующих названий команд и скриптов.
Angular 12 продолжает двигаться к стабильному релизу. Вышла уже шестая next-версия. Number и boolean теперь могут быть http-параметрами, анимации можно отключить через BrowserAnimationsModule, router-outlet стал публичным — это упростит его кастомизацию. Продолжается и развитие CLI. В одном из прошлых выпусков я говорил, что пока не получается добавить поддержку npm 7, теперь поддержка заявлена начиная с версии 7.5.6. И да, присядьте, если стоите, это неожиданно: IE11 признали устаревшим, и в следующих релизах его поддержка будет удалена. Также вышло очередное обновление 11 версии 11.2.7.
Другие новости
Помните, я как-то раз говорил, что опросы — не бесполезная трата времени? Так вот, Google, Mozilla и Microsoft проанализировали результатов таких опросов, как State of CSS, State of JS и MDN DNA. Дополнительно использовались данные от Can I Use и HTTP Archive. Это закончилось организацией инициативы Compat2021. В её рамках улучшат 5 CSS-фич, которые в результате анализа были признаны самыми критичными. В их числе: Flexbox, Grid, position: sticky, aspect-ratio и transforms. Такие дела, будем ждать новостей о ходе работ.
Следующая новость будет интересна тем, кто задавался вопросом, как выживает бесплатное ПО. Команда почтового клиента Thunderbird раскрыла финансовый отчет за 2020 год. Что интересного: в 2020 году проект получил 2 миллиона 300 тысяч долларов пожертвований и продолжил развиваться, полтора миллиона были потрачены на зарплату сотрудникам, остальные средства — на оплату других необходимых проекту служб и инфраструктуру. Сейчас над проектом работает 15 человек, из которых 11 — инженеры разного профиля, остальные — менеджеры и архитектор интерфейса.
Ричард Столлман, известный как основатель движения свободного программного обеспечения, объявил о своем возвращении в совет директоров Free Software Foundation. Ситуация получилась неоднозначная. Практически моментально развернулось целое движение сопротивления возвращению Столлмана. Некоторые организации объявили бойкот FSF, другие выступили с открытыми заявлениями, в которых обвиняли Ричарда во множестве грехов — от токсичности до дискриминации. В настоящий момент видео с конференции, на которой Столлман объявил о своем возвращении, недоступно, но на сайте Free Software Foundation он числится в составе совета директоров. Посмотрим, чем закончится этот конфликт.
В завершение выпуска — небольшая новость о Chrome 90. Начиная с этой версии браузер начнет использовать HTTPS в адресной строке по умолчанию.