В этой части мы собираемся оживить наши часы!

Статьи в серии:

Краткий обзор

Если вы имеете опыт работы с JavaScript, вашей первоначальной мыслью может быть: «Просто используйте useInterval, что может быть проще?» Тем не менее, именно здесь возникают сложности, если вы рассматриваете Rust. Даже после нескольких часов работы с Rust и освоения некоторых элементарных концепций вы получите компактный и аккуратный код. Но я не могу припомнить другого языка, который мог бы так усложнить обработку такого, казалось бы, тривиального вопроса. Тем не менее, стоит отметить, что с опытом он становится намного более управляемым.

Использование веб-API

Я хочу подчеркнуть, что цель этой статьи — дать представление о том, что значит разрабатывать исключительно веб-приложения с использованием Rust. Вот мой взгляд на это:

  • Если ваша цель — создать веб-приложение, лучше всего подойдет TypeScript. Если возникает потребность в высокопроизводительных операциях, закодируйте их на Rust и экспортируйте в виде пакета npm с помощью wasm-pack.
  • Если вашей целью является разработка кроссплатформенных приложений, избегайте прямого использования WEB API. Вместо этого выбирайте кроссплатформенные абстракции.

В этой статье мы рассмотрим, как использовать setInterval браузера. Это может показаться более сложным, чем ожидалось, но это даст нам возможность углубиться в три важнейших аспекта Rust: владение, замыкания и использование веб-API. Начнем с наименее «ржавого» — веб-API.

Использование веб-API в Rust

В основном, когда обсуждается Rust для Интернета, он часто ассоциируется с инструментом wasm-bindgen — это облегчает связывание высокого уровня между Rust и JavaScript. Вот некоторые ключевые функции, отмеченные в официальной документации: