目前用 js 和前端技術寫桌面軟件的方案主要有兩種:electron 和 nw.js。這二者在底層實現上有所不一樣,簡單的說,electron 是 node + chromium,nw.js 是 node + webkit。從使用上來講,electron 的使用更爲普遍,社區也更活躍,有一大批成熟的商用軟件,像 vscode, atom等。因此,如今通常推薦使用 electron 來寫桌面軟件。前端
electron 社區多年的積累,已經有不少成熟的第三方組建庫和工具庫幫助你輕鬆的構建桌面應用,提升開發效率,避免重複造輪子。vue
組件庫是用來幫助你書寫程序的邏輯或者UI:node
工具庫是用來幫助你構建程序:react
更多能夠參考 electron community.linux
社區有不少現成的模板,裏面封裝好了各類工具,打包成應用,建立安裝文件等一系列功能,使用者只須要關注怎麼編寫應用,而不須要關心工具及各個命令的實現及原理。webpack
更多能夠參考 https://github.com/search?o=desc&q=electron+boilerplate&s=stars&type=Repositories.git
若是你須要擴展功能,能夠更改相關的配置文件。github
以 electron-react-boilerplate 爲例。web
web部分是以 react + redux + react-router + redux-thunk + react-redux,構建工具部分是以 webpack + babel + eslint + stylelint + prettier + flow + enzyme npm
另外,它封裝了開發工具主要爲如下幾個命令:
npm run dev
這個命令將會運行一個 electron 應用實例,而後在本地開啓一個本地 server 服務,當你編寫渲染進程代碼,本地 server 服務會自動刷新頁面,而不須要關閉應用從新運行命令。
npm run start
與開發調試命令不一樣的是,它不會開起本地 server 服務,也不會監聽文件變更,而是會像發佈的應用同樣運行。這個通常在發佈以前運行,查看應用的運行狀況。
# create installer for linux&win&mac. npm run package-all # create installer only for linux. npm run package-linux # create installer only for win. npm run package-win # create installer only for mac. npm run package-mac
image-viewer 即是使用 electron-react-boilerplate 模板開發的一個圖片瀏覽器應用。
更多博客,查看 https://github.com/senntyou/blogs
版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證)