web-dev-qa-db-fra.com

Exécution de l'application JavaScript en dehors du navigateur

J'ai quelques petits widgets que j'ai créés pour fonctionner dans le navigateur, juste du JavaScript et du HTML de base. Ce sont de petits outils qui ont des arrière-plans vierges et des choses comme l'utilisation du processeur, et juste de petits jouets comme ça.

J'ai initialement développé ces outils pour vivre sur une page Web en tant que composants d'une vue sur un site Web. Existe-t-il un moyen de les apporter en dehors du navigateur, comme Chrome, et de faire en sorte que mon application d'utilisation du processeur se superpose à mon bureau pour que je puisse toujours voir des éléments derrière, comme lorsqu'un film est en cours de lecture ou un jeu vidéo? Peut-être même lancer un programme javascript uniquement qui fonctionne comme une application DESKTOP?

Il est correct de dépendre du navigateur tant que je peux avoir cette application sur mon bureau ou l'exécuter en tant qu'application Node.js autonome. Comment cela se fait-il? J'ai récemment entendu dire que les applications de bureau telles que Discord font des choses comme ça avec les communications vocales et ont des superpositions dans les jeux.

20
Travis Tubbs

En tant que site Web, la réponse est non. Cependant, vous pouvez créer une application Node, et cela peut fonctionner comme un exécutable normal.

Je pense que Spotify et Slack (au moment de la rédaction) sont de bons exemples d'une application enveloppée Node.

Quelques options:

Ces projets comptent de sérieuses étoiles sur github.

Electron

Le framework Electron vous permet d'écrire des applications de bureau multiplateformes en utilisant JavaScript, HTML et CSS. Il est basé sur Node.js et Chromium.

Github's éditeur Atom est construit en utilisant Electron.

Slack utilise également Electron.

Site officiel d'Electron

node-webkit

NW.js est un runtime d'application basé sur Chromium et node.js. Vous pouvez écrire des applications natives en HTML et JavaScript avec NW.js. Il vous permet également d'appeler des modules Node.js directement à partir du DOM et permet une nouvelle façon d'écrire des applications natives avec toutes les technologies Web.

Le non officiel Facebook Messenger for Desktop est construit en utilisant node-webkit.

Autres projets sympas:

28
MrHaze

Vérifiez Sciter , il a été conçu spécifiquement comme un moteur d'interface HTML/CSS intégrable d'applications de bureau.

Pourtant, il prend en charge les fenêtres HTML transparentes et les éléments contextuels HTML fenêtrés:

Sciter transparent HTML windows

Et vérifiez article d'introduction à la technologie Sciter

10
c-smile