electron简介
electron由Node.js+Chromium+Native APIs构成。你可以理解成,它是一个得到了Node.js和基于不同平台的Native APIs加强的Chromium浏览器,可以用来开发跨平台的桌面级应用。
它的开发主要涉及到两个进程的协作——Main(主)进程和Renderer(渲染)进程。简单的理解两个进程的作用:
-
Main进程主要通过Node.js、Chromium和Native APIs来实现一些系统以及底层的操作,比如创建系统级别的菜单,操作剪贴板,创建APP的窗口等。
-
Renderer进程主要通过Chromium来实现APP的图形界面——就是平时我们熟悉的前端开发的部分,不过得到了electron给予的加强,一些Node的模块(比如fs)和一些在Main进程里能用的东西(比如Clipboard)也能在Render进程里使用。
-
Main进程和Renderer进程通过ipcMain和ipcRenderer来进行通信。通过事件监听和事件派发来实现两个进程通信,从而实现Main或者Renderer进程里不能实现的某些功能。
electron-vue简介
vue只是在renderer进程里使用的框架,不涉及到main进程
electron-vue,这个是开发者参考vue-cli的webpack模板骨架搭建的electron和vue结合的开发脚手架。相比很多其他的教程或者其他electron+前端开发框架的组装方案,electron-vue给我感觉最好的是如下:
-
只有一个package.json。而大部分其他的项目结构依然在使用两个package.json来应对main进程和renderer进程的依赖库。
-
内建完整的vue全家桶,省去再次配置vue-router和vuex的一些初期操作。
-
内建完整的webpack开发、生产等配置,开发环境舒适。
-
内建完整的开发、构建等npm scripts,使用非常方便。
-
内建完整的Travis-ci、Appveyor配置脚本,只需少数修改就能做到利用CI自动构建的应用发布。
-
完善的文档,清晰的项目结构。