Дайджест новостей из мира фронтенд-разработки за последнюю неделю 18–24 апреля.
Спецификации
Появились первые рабочие черновики WebAssembly Core Specification 2.0 — стандарт, описывающий безопасный низкоуровневый код, WebAssembly JavaScript Interface 2.0 — стандарт взаимодействия API JavaScript с WebAssembly и WebAssembly Web API 2.0 — стандарт интеграции WebAssembly с остальной веб-платформой.
Chromium начинает экспериментальное прототипирование CSS Toggles. CSS Toggles - декларативный механизм для указания состояния, описывающего поведение.
HTML
CSS
Увеличивайте размер шрифта в интерфейсах. 16px уже мало.
Узнайте про соотношение цвет текста к цвету фона и исправьте низкоконтрастный цвет.
Условные выражения и использование техники «Что произойдет, если» для создания интерфейса.
JavaScript
Предложение на добавление аннотации типов в коде JavaScript. Это позволит разработчикам не траспилировать TS, Flow и другие надмножества с статической типизацией.
React
Angular
Просто узнайте, что будет в v14.0.0-next.14
Node.js
Node.js v18.0.0 уже здесь, но Current. Не переживайте, так как переход на LTS планируется уже в октябре. Новинки: V8 10.1, Fetch на базе Undici.
Знайте, как работает npm link и старайтесь избегать работы с ним
Начиная с v18.0.0 пишите нативные юнит-тесты.
Оптимизации
Общее
-
Посмотрите историю о Kubernetes
Инструменты
React Page Visibility, изоморфный HOC «видимости страницы», v7.0
React Leaflet v4.0.0
DevTools в Google Chrome 101
Как читать статьи на английском языке
В дайджесте много статей и видео на английском языке, чтобы это не стало препятствием: в Google Chrome есть функция перевода страницы с любого популярного языка, а видео можно перевести в Яндекс Браузере.
gsaw
Почему просто типы не добавить в яваскрипт? Почему через аннотации? Хотя бы основные. String, Number, имя класса. Или там какие то сложности?
k12th
Это называется "аннотации", потому что эти типы не влияют ни на парсинг, ни на выполнение. Там по ссылке статья на хабре, довольно подробная.
gsaw
Да я понимаю, что такое аннотации и почему они. Я спрашиваю, почему нельзя использовать типы данных.
var number myVar = 0;
function hello(string target) {}
let myAnyTypeVar = "world";
Эти типы тожно можно игнорировать теоретически, если кастинг возможен. Зато компайлер мог бы уже на этапе компиляции очевидный бред отсеивать, хотя бы предупреждениями.
Мне кажется типы выше были бы проще, чем с аннотациями
function hello(
@Types.String target)
@Types.Number
var myVar = "";
Aleksandr-JS-Developer
Есть куча причин.
Например, совместимость. Если что-то внести кардинальное в JS представляете, сколько нужно будет переписать кода?
А для тех, у кого кресло нагревается придуман TypeScript. Там явные типы.