DeskGap은 웹 기술(JavaScript, HTML 및 CSS)을 사용하여 크로스 플랫폼 데스크톱 앱을 구축하기 위한 프레임워크입니다.
크기를 줄이면서 기본 기능을 활성화하기 위해 DeskGap은 Node.js 런타임을 번들로 묶고 HTML 렌더링을 운영 체제의 웹 보기에 남겨 둡니다.
macOS | 윈도우 | 리눅스 | ||
---|---|---|---|---|
버전 | 10.11+ | 7 SP1 1 - 10 버전 1803 | 10 버전 1809+ | 우분투 16.04 LTS에서 테스트됨 |
렌더링 엔진 | 웹킷 | 삼지창 | EdgeHTML 2 | 웹킷 |
npm install --save-dev deskgap
DeskGap API 데모 앱은 대화형 스크립트를 통해 DeskGap 기능 및 API 중 일부를 보여줍니다.
macOS | 윈도우 | 리눅스 | 소스 코드 |
---|---|---|---|
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이나 기타 웹 엔진은 번들로 제공되지 않습니다. 대신 HTML 페이지 렌더링 기능은 운영 체제에서 제공하는 webview , 특히 macOS의 WKWebView, Windows의 IWebBrowser2 또는 WebViewControl(사용 가능한 경우), Linux의 WebKitWebView에서 제공됩니다.
DeskGap은 초기 단계에 있습니다. API는 Electron에 비해 여전히 상당히 제한적입니다 . 많은 기능이 개발 중이며 그 중 일부는 아마도 결코 불가능할 것입니다. 자세한 내용은 this 및 this 을 참조하십시오.
Node.js 런타임이 번들로 제공되는 DeskGap은 npm 패키지와 fs
, net
, http
와 같은 Node.js의 모든 전투 테스트를 거친 기본 기능을 지원합니다. 가격은 더 큰 실행 파일 크기 (압축된 경우 약 8MB, 압축 해제된 경우 20MB)입니다.
아마도 그렇지 않을 것입니다. DeskGap API는 여전히 매우 제한적입니다.