web-dev-qa-db-fra.com

Existe-t-il un module d'interface graphique autonome pour l'application de noeud?

Je veux construire un éditeur de code dans nodejs. Il y a une option comme utiliser un serveur express pour afficher l'éditeur et exécuter du code dans le backend. Mais cela nécessiterait un navigateur. Je recherche donc des modules de nœuds pouvant fournir une interface utilisateur autonome pour la plate-forme Windows.

32
lnman

Il existe deux options différentes, selon la manière dont vous souhaitez procéder.

Option 1:

Utilisez quelque chose comme les liaisons QT ou GTK pour créer une application d'interface graphique plus traditionnelle. Ces options ne sont généralement que des liaisons de nœuds à l'API C/C++ exposées par GTK et QT. Voir node-qt et node-gui .

Option 2:

Utilisez un cadre qui prend HTML, CSS et Javascript et le regroupe dans une application HTML5 autonome. Il y a un tas de montures qui font ça. Les exemples incluent NW.js et AppJS parmi beaucoup d’autres.

26
Jessie A. Morris

J'irais avec Electron par GitHub.
Site Web | GitHub Repo | Communiqués

C'est plus facile que vous ne le pensez

Si vous pouvez créer un site Web, vous pouvez créer une application de bureau. Electron est un cadre pour la création d'applications natives avec des technologies Web telles que JavaScript, HTML et CSS. Il prend soin des parties dures afin que vous puissiez concentrez-vous sur le cœur de votre application.

Raisons d'utiliser électron:

  • QT et GTK ne sont plus maintenus

  • AppJS est officiellement obsolète

  • node-webkit est maintenant connu sous le nom de NW.js

  • electron est similaire à NW.js mais plus récent, plus populaire et possède une plus grande communauté et se met à jour plus fréquemment. Je le recommande.

  • electron a une licence MIT

Vous pouvez comparer les contributions à electron with NW.js


Inconvénients de l'utilisation d'Electron:

  • il n'existe actuellement aucune solution d'exécution prête à l'emploi. Vous devrez donc l'envoyer avec votre code (environ 50 Mo compressé et + 100 Mo non compressé) ou trouver un moyen de le contourner.
  • en fonction de votre application, Electron pourrait être considéré comme un excès, surtout que son temps de démarrage est loin d’être idéal, il s’agit simplement d’un élément à prendre en compte. 
  • pas de look natif, vous devrez créer vos propres éléments d'interface utilisateur en utilisant CSS ou en utilisant un cadre.
35
Maher Fattouh

Récemment, Node-gir mérite également un coup d'oeil: https://github.com/Place1/node-gir

Permet d'utiliser les bibliothèques basées sur Nodejs basées sur Gnome/Glib/Gobject. Vous permettra d'utiliser GTK +.

0
Tchakabam