Интересные публикации
Первый материал этого выпуска — статья о компиляции Svelte в голове. Разработчик Тан Ли Хау (Tan Li Hau) написал статью из трех частей, в которых разбирает принципы работы Svelte. Он начинает с самого простого примера с одним компонентом и постепенно усложняет разбор. Затрагиваются реактивность, работа Svelte до версии 3.16 и после, а также компиляция в JavaScript. Статья дает хорошее представление об устройстве Svelte и о том, чем он отличается от других фреймворков.
Следующая статья — туториал по SSR Сергея Александрова. Автор разбирает SSR и его влияние на SEO, переносит React-приложение на SSR и рассказывает, как подружить SSR с Redux Saga. Также в статье присутствует раздел с настройкой Webpack 5 для работы с SSR и разбираются тонкости работы с этим подходом.
Мальте Убл (Malte Ubl) написал статью про оптимизацию загрузки изображений. Автор разбирает, как избежать сдвига контента, реализовать ленивую загрузку изображений, работать с кешированием, использовать новый формат AVIF и применять размытые заглушки. Также Мальте рассказывает, как оптимизировать потребление ресурсов процессора. Получилось достаточно коротко, но полезно и по делу.
Следующий материал — сравнение производительности фреймворков от Райана Карниато (Ryan Carniato). Он сравнивает целых 20 фреймворков по нескольким показателям: производительности, потреблению памяти и времени старта приложения. Первая тройка — фреймворки Solid, HyperApp и Inferno, Svelte на четвертом месте.
Энтони Рикод (Anthony Ricaud) на perfplanet опубликовал статью о техниках HTML и CSS, которые помогут уменьшить использование JS. Автор рассматривает несколько проблем, которые часто решают при помощи JS, и приводит нативное решение. Например, затрагиваются ленивая загрузка изображений, плавный скролл и другие.
Стефан Баумгартнер (Stefan Baumgartner) написал серию из четырех статей о том, как сделать свой код на TypeScript лаконичным и понятным. Стефан рассказывает, почему стоит избегать стандартных паттернов ООП, говорит о работе с дженериками и делится своим мнением о том, почему стоит предпочитать union types и алиасы типов.
О семи способах тестирования доступности в своем блоге пишет Кристиан Хеилман (Christian Heilmann). Речь идет о Google Chrome и браузерах на Chromium. Затрагиваются симуляция дефектов зрения, проверка контрастности, дерево доступности и еще несколько аспектов отладки доступности.
Рубрику завершает Остин Гил (Austin Gil) и его серия статей о том, как правильно создавать формы. Остин начинает с семантики и доступности, рассказывает о стилизации форм и хорошем UX для форм. Также он поднимает вопрос безопасности.
Новости релизов
Вышла версия Node.js 15.6.0. В этой версии продолжается развитие AbortSignal, также были обновлены модули crypto, doc, http и process. Кроме этого выкатилась небольшая пачка мелких фиксов.
Ember отличился релизом версии 3.24. Рендер-движок был обновлен до версии 0.65, а в интерфейс DeprecationOptions добавились новые ключи for и since. Также были добавлены багфиксы, а некоторые фичи помечены как устаревшие.
Вышла версия 3.0 сборщика Snowpack. Snowpack умеет транспилировать файлы точечно, и это ускоряет модификацию проекта целиком. В третью версию были добавлены Streaming Imports. Эта фича позволяет загружать и кешировать npm-модули без явной команды npm install. Также с этой версии Snowpack может собирать оптимизированные production-билды с помощью esbuild. Сборщик выглядит довольно неплохо, однозначно стоит хотя бы поинтересоваться его возможностями.
Webpack обновился до версии 5.15. В этом релизе ускорили разрешение зависимостей билда, также функция externals теперь может возвращать промис. Помимо этого было представлено несколько небольших багфиксов.
Вышли версии Laravel 6.20.11, 7.30.2, 8.22.1. Это важное security-обновление, которое затронуло все поддерживаемые версии. Создатель Laravel Тейлор Отвелл (Taylor Otwell) настоятельно порекомендовал обновить версию фреймворка.
Другие новости
Google сообщила в блоге разработчиков, что с 15 марта 2021 года компания ограничит использование Google API в сторонних браузерах на основе движка Chromium. Среди заблокированных функций внутреннего API Google будут: привязка к учетной записи в Google, механизм Click to Call и сервис синхронизации настроек и данных пользователя. Google не пояснила, какие именно браузеры лишатся доступа к приватным API, думаю, что ближе к дате это прояснится.
Elasticsearch планирует поменять лицензию с Apache 2.0 на SSPL и коммерческую Elastic License. Основная причина — ограничить возможности облачных провайдеров продавать Elasticsearch как услугу. Проблема в том, что облачные провайдеры перепродают готовое открытое решение, не участвуя в разработке продукта и жизни сообщества. В итоге разработчики ничего не получают. Что выйдет из этого — пока непонятно. Будем надеяться, что получится добиться более справедливого использования Elasticsearch и Kibana.