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 上測試 |
渲染引擎 | 網路工具包 | 三叉戟 | 邊緣HTML 2 | 網路工具包 |
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 尚處於早期階段。與 Electron 相比, API 仍然相當有限。許多功能正在開發中,其中一些可能永遠無法實現。請參閱此和此以獲取更多資訊。
透過捆綁 Node.js 執行時,DeskGap 支援 npm 套件以及 Node.js 中所有經過實戰檢驗的本機功能,例如fs
、 net
、 http
。代價是更大的可執行檔大小(壓縮後約 8 MB,解壓縮後約 20 MB)。
可能不會。 DeskGap API 仍然相當有限。