一、 为什么要学 Electron


Electron 是一个跨平台的桌面应用开发框架,用 html css js 的技术开发桌面上面可以安装的


软件。



“Electron 又为前端开发者谋得了一份好的差事 ” 。



想起在网路里流传很广的一句话“不要和老夫说什么 C++ , Java ,老夫行走江湖就靠一把 JS ,


遇到需求撸起袖子就是干”。



是的 Electron 看上去是在蚕食桌面客户端领域的市场份额。



说起桌面应用 , 想必大家使用过的就已经海了去了 。什么暴风影音、 QQ 、 skype 之类的 , 早已


不是新鲜事 ! 不过大家有没有了解过如何编写一个桌面应用 ? 历史上 , 我们都有哪些方式去编


写桌面应用呢 ?



实际上 , 桌面应用的历史并不算久远 , 不去查找各种资料 , 仅凭记忆 , 我能想到的曾经出现过的


桌面应用编写语言就有 :C++ 、 Delphi 、 VB 、 winForm 、 WPF 、 swing 、 awt 、 QT 、


flash 、 Objective-C 、Swift... 或许还有更多。



学习成本是不是有点高 ? 这么多语言 / 技术 !! 如果你恰好还碰到了一个吹毛求疵的老板或者


PM , 他就是那么迫切的希望自己的 app 能够多平台发布 ( 也不管在那些平台上是否有客户 ), 作


为程序员的你 , 肿么办 ? 是勇挑大梁 , 然后各技术栈学习失败 , 最终自尽以谢老板 ? 还是果断离


开 ?



当然都不是 , 够懒的程序员应该寻找更容易实现 , 又能满足老板需求的解决方案。那么 , 我们来


看看今天的话题 ,electron 吧 !



截止 2018-7-3 : electron Github 的 star 已经达到 61957 ,那么他的用户量可能已经上 100


万了。还有大家知道的 github 的 atom 编辑器、微软的 vscode 编辑器,包括阿里内部的一些


软件也是用 electron 开发的。既然这么热,那就一个字:学。



https://github.com/electron/electron





electron能和java electron调用java_electron



二、 基于 Nodejs 的主流桌面应用开发框


NW.js Electron 介绍。



NW.js 和 Electron 都可以用前端的知识来开发桌面应用。 NW.js 和 Electron 起初是同一


个作者开发。后来种种原因分为两个产品。一个命名为 NW.js (英特尔公司提供技术支持)、


另一命名为 Electron ( Github 公司提供技术支持)。



NW.js 和 Electron 可以用 Nodejs 中几乎所有的模块。 NW.js 和 Electron 不仅可以把 html


写的 web 页面打包成跨平台可以安装到电脑上面的软件,也可以通过 javascript 访问操作


系统原生的 UI 和 Api (控制窗口、添加菜单项目、托盘应用菜单、读写文件、访问剪贴板)。



三、 Electron 详细介绍


1. Electron 是由谁开发的?


答: Electron 是由 Github 开发



2. Electron 是什么?


答:Electron 是一个用 HTML,CSS 和 JavaScript 来构建跨平台桌面应用程序的一个


开源库



3. Electron 把 HTML,CSS 和 JavaScript 组合的程序构建为跨平台桌面应用程序的原理


是什么?



答:原理为 Electron 通过将 Chromium 和 Node.js 合并到同一个运行时环境中,并


将其打包为 Mac,Windows 和 Linux 系统下的应用来实现这一目的。



4. Electron 何时出现的,为什么会出现?


Electron 于 2013 年作为构建 Atom 的框架而被开发出来。这两个项目在 2014 春季开源。


(Atom:为 Github 上可编程的文本编辑器)


一些历史:


2013 年 4 月 Atom Shell 项目启动 。


2014 年 5 月 Atom Shell 被开源 。


2015 年 4 月 Atom Shell 被重命名为 Electron 。


2016 年 5 月 Electron 发布了 v1.0.0 版本 。



5. Electron 当前流行程度?


目前 Electron 已成为开源开发者、初创企业和老牌公司常用的开发工具。 6. Electron 当前由那些人在维护支持?



Electron 当前由 Github 上的一支团队和一群活跃的贡献者维护。 有些贡献者是独立开发


者,有些则在用 Electron 构建应用的大型公司里工作。



7. Electron 新版本多久发布一次?



Electron 的版本发布相当频繁。每当 Chromium、Node.js 有重要的 bug 修复,新 API


或是版本更新时 Electron 会发布新版本。



一般 Chromium 发行新的稳定版后的 一到两周之 内,Electron 中 Chromium 的版本会对


其进行更新,具体时间根据升级所需的工作量而定。



一般 Node.js 发行新的稳定版 一个月后 ,Electron 中 Node.js 的版本会对其进行更新,具


体时间根据升级所需的工作量而定。



8. Electron 的核心理念是什么?



Electron 的核心理念是:保持 Electron 的体积小 和 可持续性开发。


如:


为了保持 Electron 的小巧 (文件体积) 和可持续性开发 (以防依赖库和 API 的泛滥) ,


Electron 限制了所使用的核心项目的数量。



比如 Electron 只用了 Chromium 的渲染库而不是其全部组件。这使得升级 Chromium 更


加容易,但也意味着 Electron 缺少了 Google Chrome 里的一些浏览器相关的特性。


添加到 Electron 的新功能应该主要是原生 API。 如果可以的话,一个功能应该尽可能的成


为一个 Node.js 模块。



9. Electron 当前的最新版本为多少?



Electron 当前的最新版本为 2.0.3 (当前时间为 2018 年 7 月 2 号) 四、学习前的准备工作


1. 电脑需要安装 nodejs


2. 电脑上面需要安装 git


3. 需要有 Html css js 以及 nodejs 基础