DeskGap ist ein Framework zum Erstellen plattformübergreifender Desktop-Apps mit Webtechnologien (JavaScript, HTML und CSS).
Um native Funktionen zu ermöglichen und gleichzeitig die Größe gering zu halten, bündelt DeskGap eine Node.js-Laufzeitumgebung und überlässt das HTML-Rendering der Webansicht des Betriebssystems.
macOS | Windows | Linux | ||
---|---|---|---|---|
Version | 10.11+ | 7 SP1 1 - 10 Version 1803 | 10 Version 1809+ | Getestet auf Ubuntu 16.04 LTS |
Rendering-Engine | WebKit | Dreizack | EdgeHTML 2 | WebKit |
npm install --save-dev deskgap
Die DeskGap API Demos-App zeigt einige der DeskGap-Funktionen und APIs mit interaktiven Skripts.
macOS | Windows | Linux | Quellcode |
---|---|---|---|
GitHub |
Um DeskGap vor Ort zu testen, wird Squoosh mit DeskGap in eine Desktop-App „Pym“ verpackt und an die App Stores übermittelt.
macOS | Windows | Quellcode |
---|---|---|
GitHub |
hello-deskgap/
├── package.json
├── index.js
└── index.html
package.json
verweist auf die Eintragsdatei der App und stellt das Skript bereit, das Ihre App startet:
{
"name" : " hello-deskgap " ,
"main" : " index.js " ,
"scripts" : {
"start" : " deskgap . "
}
}
index.js
ist die Eingabedatei, die ein Fenster erstellt, das eine HTML-Seite rendert:
const { app , BrowserWindow } = require ( 'deskgap' ) ;
app . once ( 'ready' , ( ) => {
const win = new BrowserWindow ( ) ;
win . loadFile ( 'index.html' ) ;
} ) ;
index.html
ist die zu rendernde Seite:
<!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
In Arbeit
DeskGap ist als leichtere Alternative zu Electron konzipiert. Chromium oder andere Web-Engines werden nicht gebündelt. Stattdessen kommt die Fähigkeit zum Rendern von HTML-Seiten von der vom Betriebssystem bereitgestellten Webansicht , insbesondere WKWebView unter macOS, IWebBrowser2 oder WebViewControl (falls verfügbar) unter Windows und WebKitWebView unter Linux.
DeskGap befindet sich noch in einem frühen Stadium. Die API ist im Vergleich zu Electron immer noch recht eingeschränkt . Viele Funktionalitäten befinden sich in der Entwicklung und einige davon werden wahrscheinlich nie möglich sein. Weitere Informationen finden Sie hier und hier.
Mit einer gebündelten Node.js-Laufzeit bietet DeskGap Unterstützung für npm-Pakete und alle kampferprobten nativen Funktionen in Node.js wie fs
, net
, http
. Der Preis ist eine größere ausführbare Datei (ca. 8 MB gezippt und 20 MB entpackt).
Wahrscheinlich nein. Die DeskGap-API ist noch recht eingeschränkt.