Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 3.37 KB

6-native-api.md

File metadata and controls

57 lines (36 loc) · 3.37 KB

🐢 Node.js

👽 Native API (création d’addon natif en C, C++ et Rust)

Avec Node.js il est aussi possible de créer des interfaces (addons) bas niveau pour par exemple exécuter des librairies écrites en C, C++.

Cela peut amener un avantage en matière de performance (mais ce n’est pas forcément tout le temps l’objectif.. passer de C++ à JavaScript a un coup non négligeable). Quelquefois c’est aussi tout simplement car les librairies C/C++ sont déjà très complètes et maintenues (ce serait potentiellement une perte de temps de tout ré implémenter en JavaScript).

Quelques exemples de packages NPM étant des addons natif :

D’ailleurs pour installer ces packages, il vous est bien souvent nécessaire d’installer diverses dépendances pour être en capacité de les compiler. Je vous invite à consulter la section installation de Node-gyp si vous n’étiez pas au courant de cela. (Il y a aussi une option à l’installation de Node.js sur Windows).

Si c’est un sujet qui vous intéresse j’ai moi-même fait un talk en 2019 pour vulgariser et expliquer mes premiers pas en création d’addons natif pour mon projet SlimIO.

Voici néanmoins une liste complémentaire de ressources :

Documentation et outil GYP :

Talks sur la native API de Node.js :

Bonus:

Rust

Divers liens pour faire des addons natif avec Rust plutôt que C et C++ :


⬅️ 🐢 Node.js: 🎡 Event-loop | ➡️ 🐢 Node.js: 📟 CLI