官网是这么描述的:Build cross platform desktop apps with JavaScript, HTML, and CSShtml
翻译一下:使用JavaScript,HTML以及CSS搭建跨平台桌面应用前端
一位博主这样开玩笑说:
可能主要是由于,猿类里的亚种——前端开发——又有了新的出路了吧,还没找工做的前端开发,又有了新的岗位能够去选择,已经在岗的前端也有了新一年的 KPI/OKR,刚起步的创业公司能够只拉一个前端就能开发跨平台的多个桌面客户端... ...(开个玩笑)。git
JavaScript近几年的全领域发展,从compile once,run everywhere转变为code once,run everywhere,因为JavaScript自己的是一门解释性的脚本语言,这让它逐渐的成为全宇宙使用最普遍的语言,没有之一。
github
JavaScript只是JavaScript,在浏览器中,它操做DOM和BOM,在服务器端它操做FileSystem,HTTP,因此在任何环境,他均可以执行,即便是在几M的内存环境,这点对物联网来讲很重要。npm
传统的PC软件开发成本过高,和网络的兴起,让传统的开发逐渐被在线系统吊打,高成本必然逐渐的走下坡路,这是符合经济上发展的趋势,可是因为性能的问题,无论是VR仍是直播,须要采集视频,音频,网卡信息,而这些模块大多数仍是C、C++来获取json
传统局限:
在浏览器里,Web页面一般运行在一个沙盒环境里,它不能访问本地的资源。
好比在Web页面里,调用本地GUI是不容许的,由于在Web页面里管理本地GUI资源是很是危险的并且很是容易致使资源泄露。若是你想在Web页面进行GUI操做,该Web页面的渲染进程必须经过和主进程通讯来请求主进程处理这些操做。segmentfault
软件组成:Electron: 1.2.6 Node: 6.1.0 Chromium: 51.0.2704.106 V8: 5.1.281.65浏览器
工具支持:(官方提供)服务器
功能上支持:写代码&部署:网络
Electron Packager — Package your apps
Electron Builder — Deploy your apps
Spectron — Test your apps Devtron —
Debug your apps Electron
Prebuilt — Install Electron
Menubar — Create menubar apps
学习材料:官网提供一个比较全面的DEMO,包括常规的系统级别操做,通讯,截图,调用PDF等例子
产品:官网上列举了不少咱们比较熟悉的有Atom,VSC,slack
一个最简单的electron项目包含三个文件:
其中,核心的文件是 ==index.html== 和 ==main.js== 咱们能够下载官方的quick start的例子
# Clone the Quick Start repository $ git clone https://github.com/electron/electron-quick-start # Go into the repository $ cd electron-quick-start # Install the dependencies and run $ npm install && npm start