DeskGap は、Web テクノロジー (JavaScript、HTML、CSS) を使用してクロスプラットフォームのデスクトップ アプリを構築するためのフレームワークです。
サイズを抑えながらネイティブ機能を有効にするために、DeskGap は Node.js ランタイムをバンドルし、HTML レンダリングをオペレーティング システムの Web ビューに任せます。
macOS | 窓 | Linux | ||
---|---|---|---|---|
バージョン | 10.11+ | 7 SP1 1 - 10 バージョン 1803 | 10 バージョン 1809+ | Ubuntu 16.04 LTSでテスト済み |
レンダリングエンジン | ウェブキット | トライデント | エッジHTML2 | ウェブキット |
npm install --save-dev deskgap
DeskGap API デモ アプリでは、対話型スクリプトを使用して DeskGap の機能と API の一部を表示します。
macOS | 窓 | Linux | ソースコード |
---|---|---|---|
GitHub |
DeskGap を現場でテストするには、squoosh を DeskGap を使用してデスクトップ アプリ「Pym」にラップし、アプリ ストアに送信します。
macOS | 窓 | ソースコード |
---|---|---|
GitHub |
hello-deskgap/
├── package.json
├── index.js
└── index.html
package.json
アプリのエントリ ファイルを指し、アプリを起動するスクリプトを提供します。
{
"name" : " hello-deskgap " ,
"main" : " index.js " ,
"scripts" : {
"start" : " deskgap . "
}
}
index.js
、HTML ページをレンダリングするウィンドウを作成するエントリ ファイルです。
const { app , BrowserWindow } = require ( 'deskgap' ) ;
app . once ( 'ready' , ( ) => {
const win = new BrowserWindow ( ) ;
win . loadFile ( 'index.html' ) ;
} ) ;
index.html
レンダリングするページです。
<!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
進行中の作業
DeskGap は、Electron のより軽量な代替手段となるように設計されています。 Chromium やその他の Web エンジンはバンドルされていません。代わりに、HTML ページをレンダリングする機能は、オペレーティング システムによって提供される WebView 、具体的には、macOS の WKWebView、Windows の IWebBrowser2 または WebViewControl (利用可能な場合)、および Linux の WebKitWebView によって提供されます。
DeskGap は初期段階にあります。 API は Electron に比べてまだかなり制限されています。多くの機能が開発中ですが、それらの中にはおそらく不可能なものもあります。詳細については、これとこれを参照してください。
Node.js ランタイムがバンドルされている DeskGap には、npm パッケージと、 fs
、 net
、 http
などの Node.js のすべての実績あるネイティブ機能がサポートされています。価格は、実行可能ファイルのサイズが大きくなります(圧縮された場合は約 8 MB、解凍された場合は約 20 MB)。
おそらくそうではありません。 DeskGap API はまだかなり制限されています。