之前寫了如何是Meteor
如果構(gòu)建ios和Android應(yīng)用,Meteor構(gòu)建Android應(yīng)用和Meteor構(gòu)建ios應(yīng)用,Meteor出了能使用在Web,ios,Android上面以外此蜈,還能用來構(gòu)建桌面應(yīng)用。
怎么樣構(gòu)建桌面應(yīng)用?
使用Meteor
能夠構(gòu)建桌面系統(tǒng),還要依賴與Nodejs
的快速發(fā)展冲杀。
Nodejs
有幾個可以構(gòu)建桌面應(yīng)用的類庫,主要使用的有atom-shell
(改名為 Electron
),NW.js
睹酌。
atom-shell
是GitHub
隨Atom
一起開源的跨操作系統(tǒng)(Windows权谁,Linux,MacOS X)的利用 Web 技術(shù)(Node.js憋沿、JavaScript闯传、HTML 5)開發(fā)桌面應(yīng)用的框架。Atom
就是構(gòu)建在 atom-shell 之上卤妒。
Atom
就是最近比較火一款文本編輯器
node-webkit
(NW.js) 基于node.js
和chromium
的應(yīng)用程序?qū)崟r運行環(huán)境,可運行通過HTML(5)字币、CSS(3)则披、Javascript來編寫的本地應(yīng)用程序。node.js和webkit的結(jié)合體洗出,webkit提供DOM操作士复,node.js提供本地化操作;且將二者的context完全整合翩活,可在HTML代碼中直接使用node.js的API阱洪。
Atom-Shell和NW.js的區(qū)別
-
程序的入口不同
:Node-Webkit
的程序入口是一個網(wǎng)頁,atom-shell
的程序入口是一個JavaScript腳本 -
編譯系統(tǒng)不同
:atom-shell
使用libchromiumcontent
訪問Chromium
的 Content API菠镇,這樣編譯atom-shell
的時候就不用編譯整個 Chromium (編譯 Chromium 非常費時)冗荸。 -
Node集成
不通:
NW.js
的 Node 集成需要給 Chromium 打補丁才能工作。atom-shell
通過集成 libuv loop 和 平臺的 message loop 避免給 Chromium 打補丁利耍。 - Multi-context:
Node-Webkit
創(chuàng)造了 Node context 和 web context 的概念蚌本,而atom-shell
沒有引入新的 context,而是直接使用 Node 的 Multi-context 特性
** GitHub
最初考察了 Node-Webkit
,最終還是選擇自己寫Atom-Shell
這里我們也使用Atom-Shell
即Electron
**
安裝Electron
npm install electron-prebuilt -g
-g
的意思可把Electron安裝到本地系統(tǒng)中隘梨。
查看Electron
版本
electron -v
v0.32.1
在MacOS和Linux上構(gòu)建Meteor App
可以參考開源的例子 https://github.com/sircharleswatson/Electrometeor
git clone git@github.com:sircharleswatson/Electrometeor.git Electrometeor
cd Electrometeor
npm install
等待安裝完對應(yīng)的包之后 程癌,開始運行 :
node ./script/setup.js
會安裝缺少的類庫,然后運行 :
node ./script/run.js
運行效果:
...還有windows...以后再寫~