DeskGap est un framework permettant de créer des applications de bureau multiplateformes avec des technologies Web (JavaScript, HTML et CSS).
Pour activer les fonctionnalités natives tout en réduisant la taille, DeskGap regroupe un runtime Node.js et laisse le rendu HTML à la vue Web du système d'exploitation.
macOS | Fenêtres | Linux | ||
---|---|---|---|---|
Version | 10.11+ | 7 SP1 1-10 version 1803 | 10 versions 1809+ | Testé sur Ubuntu 16.04 LTS |
Moteur de rendu | Kit Web | Trident | BordHTML 2 | Kit Web |
npm install --save-dev deskgap
L'application DeskGap API Demos présente certaines des fonctionnalités et API de DeskGap avec des scripts interactifs.
macOS | Fenêtres | Linux | Code source |
---|---|---|---|
GitHub |
Pour tester DeskGap sur le terrain, squoosh est intégré dans une application de bureau « Pym » avec DeskGap et soumis aux magasins d'applications.
macOS | Fenêtres | Code source |
---|---|---|
GitHub |
hello-deskgap/
├── package.json
├── index.js
└── index.html
package.json
pointe vers le fichier d'entrée de l'application et fournit le script qui démarre votre application :
{
"name" : " hello-deskgap " ,
"main" : " index.js " ,
"scripts" : {
"start" : " deskgap . "
}
}
index.js
est le fichier d'entrée qui crée une fenêtre qui affichera une page HTML :
const { app , BrowserWindow } = require ( 'deskgap' ) ;
app . once ( 'ready' , ( ) => {
const win = new BrowserWindow ( ) ;
win . loadFile ( 'index.html' ) ;
} ) ;
index.html
est la page à afficher :
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " />
< meta http-equiv =" X-UA-Compatible " content =" ie=edge " />
< title > Hello DeskGap </ title >
</ head >
< body >
< h1 > Hello DeskGap </ h1 >
</ body >
</ html >
npm install --save-dev deskgap
npm start
Travaux en cours
DeskGap est conçu pour être une alternative plus légère à Electron. Il ne regroupe pas Chromium ni aucun autre moteur Web. Au lieu de cela, la capacité de rendu des pages HTML provient de la vue Web fournie par le système d'exploitation , en particulier WKWebView sur macOS, IWebBrowser2 ou WebViewControl (si disponible) sous Windows et WebKitWebView sous Linux.
DeskGap en est à ses débuts. L'API est encore assez limitée par rapport à Electron. De nombreuses fonctionnalités sont en cours de développement et certaines d’entre elles ne seront probablement jamais réalisables. Voir ceci et ceci pour plus d'informations.
Avec un runtime Node.js fourni, DeskGap prend en charge les packages npm et toutes les fonctionnalités natives testées au combat dans Node.js telles que fs
, net
, http
. Le prix est une taille d'exécutable plus grande (environ 8 Mo compressés et 20 Mo décompressés).
Probablement non. L'API DeskGap est encore assez limitée.