Yep ! NodeJS peut communiquer avec du natif, le tout en asynchrone. Ainsi si tu as besoin de puissance, de calculs, de MT, tu le fais en C/C++ et avec 2/3 pauvres bindings tu pilotes dans du JS, en callback ou promesse, pour ma part j'ai choisit les promesse. Ça va aussi pour réexploiter les bibliothèques natives.
Deux cas d'exploitation dans ma boîte :
- On taffe dans la logistique, qui demande des calculs complexes et beaucoup de puissance. Le moteur on l'a fait en C/C++, le reste en JS (parce que la plomberie en C/C++, non merci, on s'est trop pété les dents et au bout d'un moment ça suffit)
- Y'a peut de temps on a dû communiquer avec IBM MQ Series, version 7.5, imposé par l'hébergeur, version qui ne propose qu'une API en C. Pas de problème, en 1 jour les bindings étaient faits pour Linux, 3 jours pour les différentes archis visées (arm, arm64, x86, x64 etc.)
Et encore, c'est parce que personne n'avait poussé le truc sur npmjs, sinon on se serait encore moins emmerdé.
Du coup plus besoin d'un machin ultra lourd tel que JAVA, des compétences rares et hors de prix pour C/C++ et le TTM s'est vu grandement amélioré, donc les sous sous aussi, même si le coeur et la VA de ce que l'on produit est fait en C/C++.
C'est juste excellent ce couplage devenu possible, très simplement, très légèrement
Partager