Come costruire un plugin Deno usando Rust

Blog

Come costruire un plugin Deno usando Rust

Questo tutorial spiega come costruire un plugin Deno usando Rust e creare un plugin asincrono usando Rust futures e deno_core crate.



Deno è un nuovo runtime JavaScript creato con Rust e V8 che consente di eseguire JavaScript al di fuori del browser. Deno è più sicuro di Node.js perché limita l'accesso alla rete e al file system per impostazione predefinita.

Una delle cose interessanti di Deno è che puoi scrivere plugin in Rust e usarli all'interno del codice Deno. In questo tutorial, ti mostreremo come creare plugin Deno in Rust.



Pubblicato originariamente da Anshul Goyal su https://blog.logrocket.com

Tratteremo quanto segue:



  • Perché scrivere plugin Deno in Rust?
  • Struttura del progetto del plugin Deno
  • Costruire un progetto Rust
  • Aggiunta del codice ruggine
  • Creazione della funzione di ottimizzazione
  • Caricamento di un plugin Rust in Deno
  • Scrivere plugin asincroni

Perché scrivere plugin Deno in Rust?

I plugin in Deno generalmente migliorano le prestazioni e forniscono accesso a una gamma più ampia di strumenti.

A causa della loro natura performante, i plugin vengono spesso utilizzati nei calcoli per compiti pesanti come l'elaborazione delle immagini. I plugin ti danno anche accesso a una varietà di librerie scritte in altre lingue, comprese le casse Rust di alta qualità.

Struttura del progetto del plugin Deno

La struttura del progetto del plugin è la stessa di qualsiasi modulo Deno. Ai fini di questo tutorial, puoi usare questo boilerplate :

git clone https://github.com/anshulrgoyal/deno-rust-starter.git my_module

Per prima cosa, crea il boilerplate di Rust per il plugin:

cd my_module/native cargo build

Quindi, esegui un test per verificare che Deno stia prelevando la libreria corretta:

cd my_module/native deno test --unstable --allow-plugin

Il boilerplate include un progetto Rust nel |_+_| directory e un modulo Deno nella radice.

Costruire un progetto Rust

Il progetto Rust compila una libreria dinamica che viene caricata dal runtime di Deno. Il tipo di file e il nome della libreria dipendono dal sistema operativo. Il progetto Rust può essere compilato in un |_+_| file — |_+_| oppure |_+_| — e anche il nome del file compilato potrebbe essere diverso. Il boilerplate può gestire tre piattaforme principali: Linux, macOS e Windows.

native

Il |_+_| file è il file principale importato da un'altra applicazione utilizzando il modulo.

Aggiunta del codice ruggine

Per questo tutorial, ti mostreremo come creare un file a.png'>