DeskGap é uma estrutura para construção de aplicativos de desktop multiplataforma com tecnologias web (JavaScript, HTML e CSS).
Para habilitar recursos nativos enquanto mantém o tamanho baixo, o DeskGap agrupa um tempo de execução Node.js e deixa a renderização HTML para a visualização na web do sistema operacional.
macOS | Windows | Linux | ||
---|---|---|---|---|
Versão | 10.11+ | 7 SP1 1 - 10 versão 1803 | 10 versão 1809+ | Testado no Ubuntu 16.04 LTS |
Mecanismo de renderização | Kit Web | Tridente | EdgeHTML 2 | Kit Web |
npm install --save-dev deskgap
O aplicativo DeskGap API Demos mostra alguns dos recursos e APIs do DeskGap com scripts interativos.
macOS | Windows | Linux | Código Fonte |
---|---|---|---|
GitHub |
Para testar o DeskGap em campo, o squoosh é empacotado em um aplicativo de desktop "Pym" com DeskGap e enviado às lojas de aplicativos.
macOS | Windows | Código Fonte |
---|---|---|
GitHub |
hello-deskgap/
├── package.json
├── index.js
└── index.html
package.json
aponta para o arquivo de entrada do aplicativo e fornece o script que inicia seu aplicativo:
{
"name" : " hello-deskgap " ,
"main" : " index.js " ,
"scripts" : {
"start" : " deskgap . "
}
}
index.js
é o arquivo de entrada que cria uma janela que renderizará uma página HTML:
const { app , BrowserWindow } = require ( 'deskgap' ) ;
app . once ( 'ready' , ( ) => {
const win = new BrowserWindow ( ) ;
win . loadFile ( 'index.html' ) ;
} ) ;
index.html
é a página a ser renderizada:
<!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
Trabalho em andamento
DeskGap foi projetado para ser uma alternativa mais leve ao Electron. Ele não inclui o Chromium ou qualquer outro mecanismo da web. Em vez disso, a capacidade de renderizar páginas HTML vem do webview fornecido pelo sistema operacional , especificamente, WKWebView no macOS, IWebBrowser2 ou WebViewControl (se disponível) no Windows e WebKitWebView no Linux.
DeskGap está em seu estágio inicial. A API ainda é bastante limitada em comparação com o Electron. Muitas funcionalidades estão em desenvolvimento e algumas delas provavelmente nunca serão possíveis. Veja isto e isto para mais informações.
Com um tempo de execução Node.js incluído, o DeskGap vem com suporte para pacotes npm e todos os recursos nativos testados em batalha no Node.js, como fs
, net
, http
. O preço é um tamanho executável maior (cerca de 8 MB compactado e 20 MB descompactado).
Provavelmente não. A API DeskGap ainda é bastante limitada.