Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Бекенд, разработка серверов
  4. Rust-based Temporal: как ускорить внедрение в JS-движки 2026 года

Rust-based Temporal: как ускорить внедрение в JS-движки 2026 года

Запланировано Прикреплена Закрыта Перенесена Бекенд, разработка серверов
temporalrustjavascript
1 Сообщения 1 Постеры 2 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • hannadevH Не в сети
    hannadevH Не в сети
    hannadev
    написал отредактировано
    #1

    Обложка: Rust-based Temporal: ускорение внедрения в JavaScript-движки 2026

    Temporal наконец-то меняет работу с датами в JavaScript. Это новая API, которая заменяет проблемный Date и решает вечные боли с часовыми поясами, календарями и арифметикой времени. Разработчики ждали 9 лет, и в 2026 году она уже в Chrome, Firefox и других движках.

    Rust-based Temporal через библиотеку temporal_rs ускоряет внедрение. Она написана на Rust, проходит 100% тестов и используется в V8, Boa и дальше. Это значит меньше багов, быстрее разработка и единый стандарт для всех JS-движков.

    Что такое Temporal и почему Rust здесь ключевой

    Temporal - это набор immutable типов для дат, времени и зон: PlainDate, ZonedDateTime, Instant. В отличие от Date, она не мутирует объекты, правильно обрабатывает DST и календари вроде коптского. Представьте: добавляете час к дате в Лондоне во время перехода на летнее время - Temporal просто пропустит несуществующий час и выдаст корректный результат.

    Библиотека temporal_rs на Rust реализует весь API Temporal. Она построена на ICU4X для зон и календарей, проходит все тесты TC39. Google и Boa совместно её развили с 2024 года, и теперь она в Chrome 144, Firefox 139. Это ускоряет портирование в новые движки - пишете один раз на Rust, подключаете через FFI в C++ или Zig.

    • Immutable операции: zdt.add({ hours: 1 }) возвращает новый объект, без мутаций.
    • Зоны и календари: Temporal.Now.zonedDateTimeISO('Europe/Moscow') всегда точно.
    • Парсинг без неоднозначностей: Temporal.PlainDate.from('2026-03-29') не сломается на локали.
    Проблема Date Решение в Temporal Пример
    Мутация Immutable start.add({days:7})
    Неоднозначный парсинг Явные типы PlainDate.from('2026-02-13')
    DST-ошибки Зонная обработка 2026-03-29T00:30+00:00[Europe/London] -> +01:00

    Как temporal_rs ускоряет разработку JS-движков

    Temporal_rs - это не просто порт API, а полноценная Rust-библиотека для дат. Она embed’ится в движки вроде V8 и Boa, экономя месяцы кода. Разработчики из Google, Boa и Университета Бергена довели её до 100% конформности к тестам. В 2025 она уже питала прототипы, а в 2026 - в продакшене Chrome и Edge.

    Преимущество Rust: безопасность памяти, скорость и кросс-платформенность. Движкам не нужно дублировать логику ICU - temporal_rs её оборачивает. Для новых движков это плагин: компилируете, линковали - и Temporal работает. Пример: Boa использует её нативно и для JS.

    1. Быстрое тестирование: 100% тестов TC39 пройдено, баги фиксятся централизованно.
    2. FFI-интеграция: Работает с C++, Zig - идеально для V8, SpiderMonkey.
    3. Нативное использование: В Rust-коде let today = Temporal::Now::zoned_date_time_iso("Europe/London").

    Ключевой плюс: temporal_rs делает Temporal engine-agnostic. Пока Safari догоняет, другие движки уже впереди.

    Поддержка в движках и переход в 2026

    К 2026 Temporal в Stage 4 TC39 и входит в ES2026. Chrome 144 (январь), Edge 144, Firefox 139 (май 2025) - полная поддержка. TypeScript 6.0 beta уже компилирует, Node.js 26 на подходе. Safari в Technology Preview, но полная поддержка ожидается скоро.

    Temporal_rs ускорила это: вместо самостоятельной имплементации движки берут готовое. Пример кода из реала:

    const zdt = Temporal.ZonedDateTime.from("2026-03-29T00:30:00+00:00[Europe/London]");
    const plus1h = zdt.add({ hours: 1 });
    console.log(plus1h.toString()); // 2026-03-29T02:30:00+01:00[Europe/London]
    

    Это работает везде, где temporal_rs подключена. Для фронта и бэка - единый API без библиотек вроде Moment.js.

    Движок Статус Temporal temporal_rs роль
    Chrome 144 Полная Питает V8
    Firefox 139 Полная Интеграция
    Safari Частичная Планируется
    Node.js 26 Скоро TBC

    Temporal вне браузера - горизонты Rust

    Temporal_rs открывает двери за пределы JS. В Rust она - нативная библиотека для серверов, CLI, embedded. Конвертируйте JS Temporal в Rust: today.to_plain_date() с коптским календарем. Это полезно для Node.js, Deno, Bun - ускоряет их Temporal.

    Интеграция простая: добавьте в Cargo.toml, вызывайте API. Тесты toLocaleString почти 100%, edge-кейсы с DST покрыты. Для мобильной разработки (React Native) или игр - точное время без хаков.

    • Серверы: Арифметика дат в API без багов.
    • CLI: Парсинг аргументов с зонами.
    • Игры: Синхронизация событий по UTC+локаль.

    Нюанс: Пока нет кастомных форматов строк - используйте toLocaleString или date-fns как мостик.

    Взгляд на Temporal через год внедрения

    Temporal и temporal_rs уже меняют JS-экосистему, но Safari и полная Node.js - следующий шаг. Стоит присмотреться к Rust-библиотекам для других стандартов TC39. Это ускорит унификацию движков и избавит от legacy-Date навсегда.

    Впереди тонкая настройка календарей и производительность на слабом железе. Если пишете движок или полифилл - temporal_rs сэкономит время прямо сейчас.

    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com
    • Наш чат
    • Наш ТГ канал

    © 2024 - 2026 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы