@bakaronomka

Возможно ли выполнить JavaScript код в Rust при помощи NodeJS?

Хочется выполнить JavaScript код в Rust при помощи NodeJS, скажем так, не хочется использовать WebAssembly, так как не вижу в этом смысла - никогда не буду вызывать WebAssembly. Возможно ли выполнить JavaScript код в Rust при помощи NodeJS? Когда NodeJS выполняется, то он будет в своем потоке обрабатывать мусор?
  • Вопрос задан
  • 300 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Хоть и вопрос несколько сумбурный и не совсем понятно, что автор хочет на самом деле...
Но краткий ответ: да, возможно, но есть нюансы...

Самый простой вариант - запускать node как отдельный процесс. Можно просто запускать на каждый чих, а можно заморочиться и организовать общение между приложением на Rust и приложением на Node.js

Вариант поинтереснее - Node.js можно собрать как библиотеку (есть даже готовые бинарные сборки такого), линкуем с приложением на Rust. Всё живёт в одном процессе, но node будет запускать свои потоки.

Есть и обратный последнему вариант. Можно из Rust кода собрать бинарный аддон к Node.js
Правда тут уже JS код будет запускать код на Rust.
https://napi.rs
https://neon-rs.dev

Можно пойти дальше. Если задача просто исполнять JS код из приложения на Rust, то можно слинковаться с одним из JS движков. Приколюх предоставляемых платформой Node.js здесь не будет (вроде fs или http), хотя никто не мешает реализовать это самостоятельно.
https://crates.io/crates/v8
https://crates.io/crates/quickjs_runtime
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы