#статья дня
Как вообще меняется JavaScript?
В блоге Bloomberg вышла интересная история про Temporal — новый API для дат и времени. Но статья на самом деле не столько про сам API, сколько про то, как такие вещи вообще появляются в языке.
Объект
Проблема в том, что веб сильно вырос, а
Экосистема ответила библиотеками вроде Moment.js, date-fns и Luxon. Их скачивают десятки миллионов раз в неделю — почти каждый проект как-то решает эту проблему.
В 2017 году появилась идея сделать нормальный API прямо в стандарте. Так началась история Temporal.
Дальше — девять лет обсуждений и доработок. В работе участвовали инженеры из Microsoft, Google, Mozilla, Bloomberg и Igalia. Предложение прошло весь процесс TC39 и в итоге стало крупнейшим добавлением в ECMAScript со времён ES2015.
Любопытная деталь: для реализации Temporal разработчики движков даже сделали общую библиотеку на Rust —
Ещё, конечно, поражает количество тестов.
В общем, это хороший текст про то, как вообще принимаются изменения в современном JavaScript. Стадии, обзоры альтернатив, обсуждения.
Почитать:
https://bloomberg.github.io/js-blog/post/temporal/
Если что, есть и перевод.
#javascript #temporal
Как вообще меняется JavaScript?
В блоге Bloomberg вышла интересная история про Temporal — новый API для дат и времени. Но статья на самом деле не столько про сам API, сколько про то, как такие вещи вообще появляются в языке.
Объект
Date появился в JavaScript в 1995 году и, по сути, был просто позаимствован из Java. Тогда это казалось нормальным решением. Спойлер: нет.Проблема в том, что веб сильно вырос, а
Date почти не менялся. Со временем стало понятно, что работать с датами в JavaScript неудобно: таймзоны, переходы на летнее время, странный парсинг строк.Экосистема ответила библиотеками вроде Moment.js, date-fns и Luxon. Их скачивают десятки миллионов раз в неделю — почти каждый проект как-то решает эту проблему.
В 2017 году появилась идея сделать нормальный API прямо в стандарте. Так началась история Temporal.
Дальше — девять лет обсуждений и доработок. В работе участвовали инженеры из Microsoft, Google, Mozilla, Bloomberg и Igalia. Предложение прошло весь процесс TC39 и в итоге стало крупнейшим добавлением в ECMAScript со времён ES2015.
Любопытная деталь: для реализации Temporal разработчики движков даже сделали общую библиотеку на Rust —
temporal_rs. Редкость!Ещё, конечно, поражает количество тестов.
В общем, это хороший текст про то, как вообще принимаются изменения в современном JavaScript. Стадии, обзоры альтернатив, обсуждения.
Почитать:
https://bloomberg.github.io/js-blog/post/temporal/
Если что, есть и перевод.
#javascript #temporal
👍9