Developpez.com

Le Club des Développeurs et IT Pro

low.js, un portage de Node.js pour les systèmes embarqués est disponible comme binaire compilé

Pour les plateformes Linux, macOS et ESP32

Le 2018-10-10 14:58:11, par Patrick Ruiz, Chroniqueur Actualités
Neonious GmbH – une entreprise spécialisée dans les systèmes embarqués et installée en Allemagne – annonce la disponibilité de low.js. L’environnement d’exécution JavaScript pour systèmes embarqués est disponible sous forme de binaire compilé pour les plateformes Linux (x86/64), ARM (v6/v7/v8) et ESP32.

JavaScript s’impose petit à petit comme un langage universel à cause de la possibilité qu’il offre de travailler sur des environnements multiples. Jusqu’ici, on l’a beaucoup vu dans les sphères du développement d’applications backend ou d’interfaces Web lorsque combiné à HTML5. Mais, de récents développements montrent que le langage s’adapte très bien aux besoins de la programmation des objets connectés – des systèmes embarqués avec des capacités de connectivité à Internet. low.js vise ce dernier axe de façon spécifique, mais avec un plus selon neonious. « low.js est un portage de Node.js beaucoup moins gourmand en ressources système », précise l’entreprise. Dans la cuisine interne, low.js s’appuie sur DukTape – « un moteur ECMAScript avec un accent sur la portabilité et la compacité du code », d’après le guide du programmeur disponible en ligne. Ainsi, « low.js utilise une fraction de l’espace disque et de la mémoire dont Node.js a besoin, ce qui libère des ressources pour d’autres processus », ajoute l’équipe neonious.


D’après la firme, l’environnement d’exécution JavaScript pour systèmes embarqués démarre instantanément sur des plateformes aux ressources matérielles « limitées » comme le Raspberry Pi. En comparaison, un temps d’attente de 0,6 à 1,5 seconde est requis pour le lancement de Node.js sur un Raspberry Pi 2. Mais, il s’agit de chiffres à prendre avec des pincettes. En effet, le guide du programmeur est clair : l’un des objectifs poursuivis dans la conception de DukTape est d’avoir des performances raisonnables en comparaison à des moteurs comme V8.

Sur le terrain de l’embarqué, d’autres plateformes que le Raspberry Pi sont disponibles pour les besoins de la comparaison entre les différents moteurs. Neonious propose des modules ESP32-WROVER flashés avec low.js pour 12 $ l’unité. Les développeurs désireux de travailler sur une plateforme plus riche en possibilités pourront opter pour la carte à microcotrôleur neonious one (à 40 $ l’unité). Le détail sur les caractéristiques est donné sur la boutique en ligne de l’entreprise.

L’un des objectifs de la conception de low.js est d’offrir une compatibilité totale avec Node.js, mais l’environnement d’exécution JavaScript pour systèmes embarqués n’en est qu’à ses balbutiements, ce qui fait que ce n’est pas encore le cas. Les développeurs habitués à JavaScript (via Node.js) se comporteront donc de la même façon avec low.js sur les plateformes compatibles en s’attendant à ce que ça coince par moment. low.js est publié sous licence MIT, ce qui laisse à chacun la possibilité de le modifier pour lui faire faire le bon en avant souhaité.

Source : neonious

Et vous ?

Que pensez-vous de low.js ? En quoi cette plateforme est-elle intéressante selon vous ?

Quel commentaire faites-vous de l’adoption croissante de JavaScript dans l’univers des systèmes embarqués ?

Voir aussi :

Un développeur JavaScript estime que l'écosystème Node.js est « chaotique et peu sûr » et voici pourquoi

Un projet Node.js sur deux audité par les outils de npm aurait au moins une vulnérabilité, une sur dix d'entre elles sont critiques

NodeOS : l'OS léger basé sur le noyau Linux, Node.js et le gestionnaire de paquets npm approche sa première version majeure
  Discussion forum
7 commentaires
  • Uther
    Expert éminent sénior
    Quel commentaire faites-vous de l’adoption croissante de JavaScript dans l’univers des systèmes embarqués ?
    Le JavaScript pour l'embarqué, c'est un peu comme le camembert allégé, ou l'alcool bon pour la santé. On sait bien qu'il y a une arnaque quelque part mais on voudrait quand même y croire.
  • Marco46
    Expert éminent sénior
    Envoyé par redcurve
    Encore un framework Js ... Pffff
    C'est une plateforme pas un framework et c'est très léger d'où son utilisation dans l'IoT.
  • AoCannaille
    Expert confirmé
    Envoyé par Uther
    Le JavaScript pour l'embarqué, c'est un peu comme le camembert allégé, ou l'alcool bon pour la santé. On sait bien qu'il y a une arnaque quelque part mais on voudrait quand même y croire.
    C'est clair. Mais dans le cadre du Raspberry, c'est assez peu important, puisque l'objectif principal de cette plateforme est d'initier à l'informatique. Au final peu importe le langage du projet tant qu'on en fait un.

    Par contre, si l'industrie se tourne vers ce choix, l'IoT à du soucis à ce faire. On aura bientôt besoin de core i5 dans les télé connectées
  • hotcryx
    Membre extrêmement actif
    Envoyé par Uther
    Le JavaScript pour l'embarqué, c'est un peu comme le camembert allégé, ou l'alcool bon pour la santé. On sait bien qu'il y a une arnaque quelque part mais on voudrait quand même y croire.
    Et la cigarette électronique :o
  • bj,

    pour mettre les 50 000 dépendances du moindre script js moderne
    la faute à ceux qui importent babel, phantomjs, gulp et autre joyeuseries (généralement les mecs du front )

    pour ma part j'avais l'habitude d'importer https://www.npmjs.com/package/yourmom mais npm ne veut plus : (
  • Uther
    Expert éminent sénior
    Ça a beau être plus léger que le moteur d'un navigateur, il y aura toujours besoin d'un Runtime conséquent a faire tourner ce qui est déjà non négligeable et met hors course l'embarqué très léger.

    Le JS devient il est vrai viable pour l'IOT si on a des technos plus puissante du style de ce qu'on peut trouver dans les téléphones portables ou Raspberry Pi, mais c'est quand même souvent du gâchis d'énergie pour le besoin réel.
  • redcurve
    Membre extrêmement actif
    Encore un framework Js ... Pffff

    Pour le faire tourner il faudra bientôt 8go de ram, un Ryzen 2700x et 4To de stockage SSD nvme (pour mettre les 50 000 dépendances du moindre script js moderne)