node.js 和HTML5開(kāi)發(fā)本地桌面應(yīng)用程序
HTML5讓W(xué)eb開(kāi)發(fā)人員用純HTML技術(shù)開(kāi)發(fā)富客戶端互聯(lián)網(wǎng)應(yīng)用或者甚至本地桌面應(yīng)用成為了可能。HTML5可以將任何普通網(wǎng)站轉(zhuǎn)變成Web應(yīng)用。HTML5 web 應(yīng)用不僅具有在桌面瀏覽器應(yīng)用中的優(yōu)勢(shì),同時(shí)在智能手機(jī)和平板中也是開(kāi)發(fā)利器。
在手機(jī)端,有一個(gè)非常棒的工具叫做PhoneGap,使用這個(gè)快速開(kāi)發(fā)平臺(tái),任何人都可以使用HTML5+CSS3+JavaScript開(kāi)發(fā)出安卓,iOS等應(yīng)用。PhoneGap的最好的一個(gè)特點(diǎn)是,你并不需要聯(lián)網(wǎng),不需要連接web服務(wù)器,你可以從把它當(dāng)成本地桌面應(yīng)用。一旦下載到本地,它和本地原生應(yīng)用一樣可以離線使用。
通常我們會(huì)感覺(jué)網(wǎng)上有很多有趣的HTML應(yīng)用,但這些應(yīng)用非要你打開(kāi)瀏覽器,輸入網(wǎng)址。其實(shí)我們更喜歡直接點(diǎn)擊桌面的一個(gè)圖標(biāo)就啟動(dòng)一個(gè)程序的這種體驗(yàn)。用HTML5+js開(kāi)發(fā)的本地桌面應(yīng)用就是要提高給用戶這種體驗(yàn),除了上面說(shuō)的PhoneGap,還有一些像Pokki和Chrome Package Apps或Mozilla XUL Runner都是開(kāi)發(fā)HTML5本地桌面應(yīng)用的框架。
Pokki和Chrome不僅可以用來(lái)開(kāi)發(fā)HTML5桌面應(yīng)用,而且可以把這些應(yīng)用放到交易市場(chǎng)中。
另外一個(gè)有趣的工具是Node-Webkit,本文下面內(nèi)容主要討論的將是它。
Node-Webkit是一個(gè)基于Chromium和Node.js運(yùn)行平臺(tái)。它能讓你把HTML5應(yīng)用打包成本地桌面應(yīng)用或游戲安裝到Windows、Linux或Mac系統(tǒng)中。Node-Webkit項(xiàng)目是由英特爾開(kāi)源技術(shù)中心開(kāi)發(fā),發(fā)起人是王文睿。
為什么Node-WebKit是開(kāi)發(fā)HTML5本地桌面應(yīng)用的最佳選擇
- Node-WebKit能把你的HTML5應(yīng)用打包成本地桌面應(yīng)用,在Windows、Linux或Mac平臺(tái)上,你不需要其它依賴(lài)就可以獨(dú)立運(yùn)行你的HTML5應(yīng)用。
- 它支持Node.js。你可以使用Node.js的所有模塊來(lái)開(kāi)發(fā)你喜歡的app或游戲。不僅你可以使用Node.js原生的模塊,而且可以使用第三方的node.js模塊。
如何使用Node-Webkit開(kāi)發(fā)HTML5本地桌面應(yīng)用
這非常簡(jiǎn)單,像傳統(tǒng)的開(kāi)發(fā)你的HTML5應(yīng)用一樣開(kāi)發(fā)它們,完成之后用Node-Webkit打包它。打包的方法是
1.先下載Node-Webkit
2.然后創(chuàng)建一個(gè)包文件命名為package.json, 寫(xiě)入下面的代碼:
{ "name": "nw-demo", "main": "index.html" }
這里的“name”是你應(yīng)用的名稱(chēng),“main”是你的應(yīng)用的啟動(dòng)文件,也就是應(yīng)用啟動(dòng)是第一加載的文件。
3.將你的HTML5應(yīng)用文件和package.json一起打包成zip
4.重命名zip文件,將其后綴變成 .nw ,比如app.nw
5.現(xiàn)在你就可以用node-webkit runtime來(lái)運(yùn)行你的app了在Linux上的運(yùn)行命令是
./nw app.nw
在Windows平臺(tái)上你可以直接把你的app.nw拖拽到 nw.exe 程序上就行了。
6.想讓你的應(yīng)用更容易傳播和發(fā)布,可以將它和node-webkit封裝到一起,也就是將你的HTML5應(yīng)用 app.nw 和 nw.exe 合成一個(gè)可執(zhí)行文件。在Linux上的做法是
cat /usr/bin/nw app.nw > app && chmod +x app
在Window上的做法是
copy /b nw.exe+app.nw app.exe
你可以看看這個(gè)wiki文檔,里面有更詳細(xì)的介紹。希望這篇文章對(duì)你有所幫助。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Node.js本地文件操作之文件拷貝與目錄遍歷的方法
- Node.js制作簡(jiǎn)單聊天室
- 總結(jié)幾道關(guān)于Node.js的面試問(wèn)題
- node.js發(fā)送郵件email的方法詳解
- Node.js中如何合并兩個(gè)復(fù)雜對(duì)象詳解
- 簡(jiǎn)單實(shí)現(xiàn)node.js圖片上傳
- node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法
- Node.js中process模塊常用的屬性和方法
- node.js請(qǐng)求HTTPS報(bào)錯(cuò):UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解決方法
- node.js與C語(yǔ)言 實(shí)現(xiàn)遍歷文件夾下最大的文件,并輸出路徑,大小
相關(guān)文章
Node.js實(shí)現(xiàn)用戶身份驗(yàn)證和授權(quán)的示例代碼
在web開(kāi)發(fā)中,我們常常需要對(duì)一些敏感的url進(jìn)行訪問(wèn)權(quán)限控制,本文主要介紹了Node.js實(shí)現(xiàn)用戶身份驗(yàn)證和授權(quán)的示例代碼,具有一定的參考價(jià)值,感興趣的了解一下2024-02-02nodejs結(jié)合Socket.IO實(shí)現(xiàn)websocket即時(shí)通訊
websocket 是一種網(wǎng)絡(luò)通信協(xié)議,一般用來(lái)進(jìn)行實(shí)時(shí)通信會(huì)使用到。本文主要介紹了nodejs結(jié)合Socket.IO實(shí)現(xiàn)websocket即時(shí)通訊 ,感興趣的可以了解一下2021-11-11nodejs實(shí)現(xiàn)超簡(jiǎn)單生成二維碼的方法
這篇文章主要介紹了nodejs實(shí)現(xiàn)超簡(jiǎn)單生成二維碼的方法,結(jié)合實(shí)例形式分析了nodejs基于qr-image插件生成二維碼的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03解決npm管理員身份install時(shí)出現(xiàn)權(quán)限的問(wèn)題
下面小編就為大家分享一篇解決npm管理員身份install時(shí)出現(xiàn)權(quán)限的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03運(yùn)行Node.js的IIS擴(kuò)展iisnode安裝配置筆記
這篇文章主要介紹了運(yùn)行Node.js的IIS擴(kuò)展iisnode安裝配置筆記,iisnode的擴(kuò)展可以把Node.js程序托管到IIS,托管之后也意味著可以使用IIS里面的各種功能,需要的朋友可以參考下2015-03-03Node.js使用Koa搭建 基礎(chǔ)項(xiàng)目
時(shí)下前端工程師有很多人比較關(guān)注NodeJs以及express 框架或者Koa 框架之類(lèi)的新技術(shù)。難得我最近閑時(shí)較多,利用一下舊歷新年尚未正式到來(lái)的這片閑暇,也來(lái)涉足其中,一窺其中奧妙。2018-01-01nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作示例
這篇文章主要介紹了nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作,結(jié)合實(shí)例形式分析了node.js針對(duì)http、https 請(qǐng)求的封裝與使用相關(guān)操作技巧,需要的朋友可以參考下2020-02-02Node.js事件循環(huán)(Event Loop)的使用
事件循環(huán)是其非阻塞I/O和高并發(fā)能力的核心機(jī)制,本文主要介紹了Node.js事件循環(huán)(Event Loop)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05