Пишем нативные аддоны для Node.js на Rust: что умеет NAPI-RS и где он правда нужен

#Пишем #Node #Rust #NAPI-RS #Привет
Пишем нативные аддоны для Node.js на Rust: что умеет NAPI-RS и где он правда нужен

Привет, Хабр! Меня зовут Сергей Маркизов и я бэкенд-разработчик в Далее . Периодически я сталкиваюсь с задачами, где привычного JavaScript недостаточно: нужно быстрее считать, вручную управлять памятью или подключить существующую нативную библиотеку. Node.js отлично чувствует себя в I/O-bound задачах (API, микросервисы, работа с базами данных и очередями), но как только в приложение попадает тяжелая CPU-bound логика (хеширование больших файлов, обработка изображений, видео, криптография) event loop может стать узким местом. Один из способов решить эту проблему — вынести тяжелую часть в нативный аддон. В статье разберемся, как делать такие аддоны на Rust с помощью NAPI-RS: посмотрим на базовые типы, классы, асинхронные задачи, работу с JavaScript-объектами и управление ресурсами через Reference и External. Материал будет полезен Node.js-разработчикам, backend-инженерам и всем, кто хочет понять, когда Rust можно встроить в JavaScript-проект без боли для пользователей библиотеки. Читать д

Привет, Хабр! Меня зовут Сергей Маркизов и я бэкенд-разработчик в Далее.

Периодически я сталкиваюсь с задачами, где привычного JavaScript недостаточно: нужно быстрее считать, вручную управлять памятью или подключить существующую нативную библиотеку.

Node.js отлично чувствует себя в I/O-bound задачах (API, микросервисы, работа с базами данных и очередями), но как только в приложение попадает тяжелая CPU-bound логика (хеширование больших файлов, обработка изображений, видео, криптография) event loop может стать узким местом.

Один из способов решить эту проблему — вынести тяжелую часть в нативный аддон. В статье разберемся, как делать такие аддоны на Rust с помощью NAPI-RS: посмотрим на базовые типы, классы, асинхронные задачи, работу с JavaScript-объектами и управление ресурсами через Reference и External.

Похожие статьи

Пошаговые тактики до сих пор в моде: более миллиона игроков добавили Star Wars Zero Company в список желаемого 3DNews
3DNews

Пошаговые тактики до сих пор в моде: более миллиона игроков добавили Star Wars Zero Company в список желаемого

Издатель Electronic Arts и разработчики из возглавляемой бывшим арт-директором XCOM Грегом Фёрчем (Greg Foertsch) студии Bit Reactor похвастались интересом игроков к своей тактической стратегии Star W...

3DNews
Рынок акций в России показал рекордное падение с сентября 2022 года РБК
РБК

Рынок акций в России показал рекордное падение с сентября 2022 года

По итогам основной торговой сессии индекс Мосбиржи упал более чем на 4%. Аналитики не исключают дальнейшее падение к минимумам этого года

РБК
The Verge
The Verge

Mark Zuckerberg has an Instagzam

Instagram's wordmark is iconic. Well, was iconic. Apparently Instagram thought it looked old, so the company rolled out a new one this week. It doesn't look like the old Instagram wordmark. It doesn't...

The Verge
Hacker News
Hacker News

Discrete Fourier Transform by Hand

Article URL: https://www.byhand.ai/p/28-discrete-fourier-transform Comments URL: https://news.ycombinator.com/item?id=49301342 Points: 5 # Comments: 1

Hacker News
В Италии нашли похищенные из музея картины Сезанна, Ренуара и Матисса на €9 млн Life.ru
Life.ru

В Италии нашли похищенные из музея картины Сезанна, Ренуара и Матисса на €9 млн

Итальянские карабинеры обнаружили три произведения Поля Сезанна, Пьера Огюста Ренуара и Анри Матисса, похищенные весной из музея Fondazione Magnani Rocca в Траверсетоло. Об этом сообщили в Корпусе кар...

Life.ru
Hacker News
Hacker News

Count Binface receives over a quarter of votes in Clacton by-election

Article URL: https://www.bbc.com/news/articles/ce97mm3vvemo Comments URL: https://news.ycombinator.com/item?id=49301260 Points: 17 # Comments: 3

Hacker News