Интересные публикации
Инженеры BBC рассказали, как перевели ресурс BBC World Service на изоморфное React-приложение. Это высоконагруженный ресурс, на котором публикуются новости на 40 языках, и эти особенности нужно было учесть. Кроме того, необходимо было позаботиться о доступности и производительности. Итогом стала разработка собственной платформы Simorgh. В среднем производительность страниц увеличилась на 80%, значительно улучшились показатели Lighthouse. Simorgh — это open-source, на него можно посмотреть и на GitHub.
Елизавета Добрянская — фронтенд разработчик из компании ДомКлик — поделилась на Хабре опытом внедрения в продукт стейт-менеджера Effector. В статье есть небольшой экскурс в основы Effector и рассказ о том, почему было сложно начать с ним работать и как его подружили с TypeScript. Финал хороший: Effector внедрили, команда счастлива. Статья снабжена большим количеством примеров и демоприложением, которое доступно на GitHub.
В блоге Яндекса на Хабре появился транскрипт доклада Алексея Веселовского о TypeScript. Алексей рассмотрел особенности конфигурации TS, рассказал о том, чего лучше избегать, и о вещах, с которыми нужно быть предельно осторожным. Также он упомянул об io-ts — библиотеке, которая может обнаружить попадание в код данных, способных вызвать ошибки.
Саймон Уики (Simon Wicki) в своём блоге написал статью о том, почему пора отказаться от Google Fonts в пользу self-hosted шрифтов. По мнению Саймона, аргумент о скорости загрузки из CDN больше не актуален из-за разделения кеша, начиная с 86-ой версии Chrome. Он приводит небольшое сравнение скорости загрузки и призывает хостить шрифты самостоятельно.
Следующий материал о монолите и микрофронтендах. Флориан Раппл (Florian Rappl) на Medium рассуждает о плюсах и минусах обоих подходов. Будучи фанатом монолитных систем, Флориан отмечает, что микрофронтенды привносят в проекты гибкость, масштабируемость и независимость частей приложения. Основная мысль проста: у монолитных приложений есть свои преимущества, и с них проще начать, а когда выбрать микрофронтенды и выбирать ли их — понять достаточно легко.
На Хабре вышел перевод статьи Vira Vashkovska о том, почему команда Syndicode использует Ruby в 2020 году. Распространено мнение, что Ruby и его экосистема умирают, с чем автор не согласна. Она отмечает пару недостатков Ruby и приводит ряд аргументов в защиту Ruby on Rails, среди них быстрота и эффективность разработки, преимущества для владельцев продуктов. Также она приводит топ-5 сфер, в которых Ruby и Ruby on Rails живы как никогда. Это e-commerce, SaaS, разработка MVP, кроссплатформенные приложения и IoT.
Новости релизов
Вышел Node.js 15.4.0. В этой версии добавили поддержку AbortSignal API. AbortSignal — это объект сигнала, который позволяет общаться с DOM при помощи запроса (например, Fetch) и при необходимости прервать его с помощью объекта AbortController. Также с релизом была поставлена пачка небольших багфиксов.
Анонс релиза Chrome 88. В бете Chrome 88 target=_blank работает как rel=noopener, псевдоэлемент :not() поддерживает сложные селекторы, а значение path() заработало в свойстве clip-path. Был добавлен метод performance.measureMemory(), а поддержка FTP и веб-компонентов v0 — удалена. Релиз запланирован на 19 января.
Вышла версия Ruby on Rails 6.1. В релизе: улучшения для работы с несколькими базами данных, апгрейд Active Storage и объекты ошибок для Active Model. Без багфиксов и оптимизации производительности также не обошлось.
Webpack получил обновление. Релиз Webpack 5.10.0 был направлен на оптимизацию сайд-эффектов, когда используется реэкспорт и конкатенация модулей. Разработчики немного прокачали внутреннюю структуру тайпингов и поработали над производительностью output.pathinfo().
Также отмечу релизы Bash 5.1 — кстати, с последнего релиза прошло 2 года, — и CentOS 8.3.
Другие новости
Google Dev Summit стартовал 9 декабря. Первый день был посвящён перформансу, Core Web Vitals и приватности. Второй — DevTools, CSS Houdini, WebAssembly, PWA, Workbox, SEO и будущему веба. Все записи доступны.
Автор Babel и Yarn Себастьян МакКензи (Sebastian McKenzie) объявил о запуске сбора средств на разработку Rome. Напомню, Rome — многофункциональный инструмент, который может собирать бандл, прогонять тесты, устанавливать пакеты и много чего ещё. По словам Себастьяна, Rome сможет заменить Babel, ESLint, Yarn, Prettier и Webpack. Целевая сумма — 100 000 долларов, которые позволят Себастьяну работать над проектом независимо. Сейчас он нигде не работает и полностью посвятил свое время Rome. Оказать поддержку можно на сайте проекта.
В заключение выпуска немного забавного. Бен Авад (Ben Awad) — автор плагина со сторис для VS Code — продолжает удивлять. На этот раз он создал плагин, который добавляет в редактор кода Tinder для программистов. В нём «свайпить» нужно, оценивая не внешность, а фрагмент кода.