Фронтенд дайджест #210 Лучшее за неделю Подкаст 3 марта Go | FrontoWeek: Недельный дайджест [Фронтовик]
Фронтенд дайджест #210 Лучшее за неделю Подкаст
3 марта Google выпустила Flutter 2, который теперь можно использовать для разработки не только мобильных, но и приложений под любую другую платформу, включая десктопные и веб-приложения. Пересобрать своё приложение на новую платформу можно без единой строчки платформо-специфичного кода. И самое крутое, что приложения на Flutter 1 можно так же, без единой строчки кода, мигрировать на Flutter 2 и собрать под нужную платформу.
Вместе с Flutter вышла новая минорная и не такая интересная версия языка Dart 2.12. В ней стабилизировали надёжную реализацию null-safety, позволяющую избежать ошибок в рантайме и повышающую производительность. Ещё в апдейт вошли: стабильный Dart FFI — механизм, позволяющий вызывать код написанный на C, и новые утилиты для разработки и дебага, написанные на Flutter.
[EN] В то время, как многие пытаются оптимизировать свои веб-страницы для достижения максимального рейтинга в Lighthouse, автор этой статьи поставил себе челлендж — из идеальной, по версии Lighthouse, страницы сделать самую медленную страницу для пользователя. В статье автор разобрал метрики, используемые Lighthouse для оценки, и описал, как он итеративно шёл к желаемому результату. Как замечает сам автор, практической ценности в таком упражнении мало, но в процессе эксперимента он выявил и описал особенности работы Lighthouse, понимание которых может помочь уже в реальных задачах.
[EN] По результатам последнего опроса State of JS 2020, Express.js остается самым используемым «фреймворком» для бэкенда. Автор статьи находит такую популярность неоправданной, начиная с того, что текущая стабильная версия не умеет корректно обрабатывать в middleware исключения из async/await-операций, что может приводить к утечкам памяти. А начиная с node.js 15 и вовсе к падению приложения.
По большому счёту, пишет автор, Express — это обычная библиотека для роутинга с поддержкой middleware. Всю остальную функциональность приходится добавлять из сторонних библиотек. В итоге, автор призывает рассмотреть более современный и быстрый Fastify или более полноценный фреймворк AdonisJS, в котором из коробки есть всё необходимое для работы c БД, валидации форм и защиты от многих веб-уязвимостей.
[EN] Каким бы оптимизированным ни был веб-шрифт, он добавляет HTTP запрос, замедляет рендеринг страницы и увеличивает потребление энергии. Когда вы встретите сайт, использующий системные шрифты, знайте, что это не отсутствие вкуса у дизайнера, а «сокращение выбросов CO2», вызванных загрузкой лишних ресурсов по сети. Автор статьи предлагает более тщательно подходить к выбору шрифта. Например, в качестве шрифта с засечками он предлагает рассмотреть Charter, Palatino, Georgia или Hoefler, а для шрифта без засечек использовать System Font Stack — длинный список системных шрифтов в разных ОС. С другой стороны, автор напоминает, что вместо шрифтов, в первую очередь, лучше избавиться от лишних скриптов.
HTML Academy в очередной раз напоминает о важности семантической верстки. Семантика прописана в спецификации HTML и помогает анализировать содержимое страницы скринридерам и поисковикам. В статье рассматриваются основные семантические теги, их значение, особенности и типовые ошибки. Например, и