node-webkit 整合了 node.js,並以 webkit 作為網頁排版引擎,讓開發者可以用 JavaScript 來寫桌面應用程式。
自從有了 node.js,原本只在前端使用的 JavaScript 也可以用來寫後端,不過似乎有人並不滿足,連桌面應用程式都想用 JavaScript 來寫,這個東西就是 node-webkit!
有了 node-webkit 的幫助,前端網頁開發者就能用熟悉的 HTML、CSS、JavaScript 來開發桌面應用程式。
使用 node-webkit 來開發桌面應用程式,首先要在 Github 上下載對應作業系統的程式,Windows 版本裡有一個 30+MB 大小的檔案 nw.exe 用來執行你寫的程式碼。
接下來是官方 Hello World 的範例
建立一個 index.html,內容如下:
<title>Hello World!</title>
<h1>Hello World!</h1>
We are using node.js
<script>document.write(process.version)</script>
讓人感覺很親切呢~
不過還沒完,要讓 node-webkit 能執行還需要打包一下
建立一個 package.json,內容如下:
{
"name": "nw-demo",
"main": "index.html"
}
接著把 index.html 跟 package.json 壓縮成 zip 檔案,並取名為 app.nw,放在跟執行檔 nw.exe 同一個資料夾下,接著點兩下就能執行了!
我覺得 node-webkit 就像一個小巧的瀏覽器,整合了 node.js ,讓你可以跳出網頁的限制而擁有操作系統的能力。而排版引擎就是用 webkit,不用擔心跨瀏覽器的問題。
目前使用 node-webkit 來開發的應用程式:
https://github.com/rogerwang/node-webkit/wiki/List-of-apps-and-companies-using-node-webkit
參考資料:
http://fred-zone.blogspot.tw/2013/04/node-webkit.html
http://oklai.name/2013/04/这年头,你只需要懂node-webki
很久以前MS有推過一個叫HTA(HTML Application)的技術
這在有裝過IE 4以上版本的Windows都能跑的AP
Introduction to HTML Applications (HTAs)
http://msdn.microsoft.com/en-us/library/ms536496.aspx
補充HTA呼叫外部exe程式的方法, 例如做成超連結
<A href="javascript:(new ActiveXObject('WScript.Shell')).Run('exe檔名與路徑');void(0);">....</A>