Новости 512 #132

В этом выпуске: релиз PHP 8, производительность TypeScript, написание фронтенд-фреймворка и языка программирования, как построить RESTful API, первые результаты инициативы Open Prioritization от Igalia.

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

Первый материал на этой неделе — о реактивных переменных в React Apollo. Реактивные переменные — это механизм хранения данных вне кеша Apollo. Дэниел Дон в статье на Smashing Magazine разбирается в фиче, рассказывает, как создать и обновить реактивную переменную, а также реализует приложение-пример для демонстрации работы реактивных переменных.

В прошлом выпуске я предлагал вам подробнее разобраться в работе git. На этой неделе давайте напишем собственный фронтенд-фреймворк. Марвин Фраше создал небольшой тьюториал, который покрывает основные аспекты работы фреймворков: работу с шаблонами, Virtual DOM, состояние приложения и отслеживание изменений. В итоге получается простая и грубая реализация фреймворка. По ходу реализации все концепции разбираются, и автор рассказывает о том, как это работает сейчас в «большой тройке» фреймворков. Неплохая возможность заглянуть под капот фреймворков.

В репозитории TypeScript в разделе wiki есть страница Performance. Как вы уже догадались, она посвящена производительности TypeScript. В статье собраны советы по написанию оптимального кода и менеджменту кодовой базы. Есть разделы о конфигурации самого TS и инструментов сборки, крупный раздел об отладке, также там есть инструкция, как правильно создать Issue.

Михай Парпарита из Quip написал небольшую заметку о том, как сравнение ело много ресурсов процессора. Повышенное потребление было замечено в приложении Quip для macOS, а проблема была всего лишь в нестрогом сравнении. Как это вышло и как проблему удалось обнаружить читайте в блоге автора.

Следующий материал — об API, который обнаруживает пользовательский ввод. Теперь он добавлен по умолчанию в Chrome 87. isInputPending() позволяет улучшить отзывчивость интерфейса и установить свой баланс между загрузкой и работой интерфейса. Примечательно, что это первый вклад Facebook в браузерные API. Более подробный пост в инженерном блоге Facebook.

Винай Шани написал в своём блоге статью о разработке RESTful API. В ней собраны лучшие практики и советы. Поднимаются вопросы дизайна интерфейса для разработчиков и использования разных типов запросов. Ещё Винай рассказывает, как правильно организовать сортировку, поиск и фильтры, а также как эффективно пользоваться кодами состояния HTTP. Это далеко не полный перечень, в статье еще много других полезных советов.

Напоследок: самые хардкорные из вас могут написать язык программирования на JavaScript. Понятное дело, тоже в образовательных целях. Если слова парсер, интерпретатор, компилятор для вас не пустой звук, и вы хотите понять, как всё это работает, обязательно попробуйте.

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

Главный релиз этой недели — PHP 8. В новой версии языка теперь есть JIT-компиляция. Появились именованные аргументы функций, новое выражение manch — младший брат case. В конструкторах классов теперь можно объявлять свойства, появился оператор nullsafe. Сравнение строк и чисел прокачали. И это далеко не все изменения, ищите подробности на странице релиза.

У Ruby on Rails теперь есть первый релиз-кандидат версии 6.1. Нас ждут улучшения для работы с несколькими базами данных, апгрейд Active Storage и объекты ошибок для Active Model. Также планируется выпустить ряд багфиксов и оптимизаций.

Очередными security-фиксами отметился фреймворк Django. В ноябре команда фреймворка выпустила ряд багфикс-релизов для всех поддерживаемых веток Django — это версии 3.1.3, 3.0.11 и 2.2.17.

Закрывает рубрику релиз GraphQL Apollo версии 3.3.0.

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

В прошлых выпусках мы рассказывали об Open Prioritization. Напомню, это инициатива Igalia, которая призвана помочь реализовать самые нужные фичи в браузерах в первую очередь. Igalia — это агентство-консультант, которое реализовало многие фичи в разных браузерах. Open Prioritization представляла из себя сбор средств на реализацию самой нужной фичи и своего рода голосование. Первой реализованной фичей стала :focus-visible в WebKit. К выпуску прикладываем ссылку на пост в блоге Igalia и на небольшой обзор от Брайана Карделла.

Microsoft продолжает попытки сделать Windows максимально универсальным. Возможно, Android-приложения станут доступны на Windows 10. По неподтвержденным данным проект называется «Project Latte» и, возможно, будет построен при помощи технологии WSL и анонсирован осенью 2021-го года. Непонятно, произойдет ли это, но тогда Windows станет воистину универсальным.

Комментарии

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