本文翻译自 http://jlord.us/essential-ele... css
本文将简明扼要地讲解 Electron。html
Background | Development | Development Con't |
---|---|---|
What is Electron | Prereqs | Stay in touch |
Why is this important | Two Processes | Put it all Together |
How,even? | Main Process | Packaging |
What is developing like? | Renderer Process | More resources |
/ | Think of it like this | / |
Electron 是一个能够用 JavaScript、HTML 和 CSS 构建桌面应用程序的库。这些应用程序能打包到 Mac、Windows 和 Linux 系统上运行,也能上架到 Mac 和 Windows 的 App Store。node
Next:为何它如此重要?git
定义:github
相关资源:
Apps built on Electron
Electron API Demos(看看你能经过 Electron 实现什么功能)web
一般来讲,每一个操做系统的桌面应用都由各自的原生语言进行编写,这意味着须要 3 个团队分别为该应用编写相应版本。而 Electron 则容许你用 Web 语言编写一次便可。npm
Next:它由什么组成?编程
定义:json
Electron 结合了 Chromium、Node.js 和用于调用操做系统本地功能的 API(如打开文件窗口、通知、图标等)。windows
Next:开发体验如何?
定义:
相关资源:
基于 Electron 的开发就像在开发网页,并且可以无缝地 使用 Node。或者说:在构建一个 Node 应用的同时,经过 HTML 和 CSS 构建界面。另外,你只需为一个浏览器(最新的 Chrome)进行设计(即无需考虑兼容性等)。
Next:具有条件(开发方面)
定义:
相关资源:
由于 Electron 应用的两个组成部分是网站(译者注:UI)和 JavaScript(译者注:功能),因此在开发 Electron 应用前,你须要拥有这两方面的经验。你能够搜索 HTML、CSS 和 JS 的教程,并在你的电脑上安装 Node。
定义:
Next:两个进程
相关资源:
Electron 有两种进程:『主进程』和『渲染进程』。部分模块只能在二者之一上运行,而有些则无限制。主进程更多地充当幕后角色,而渲染进程则是应用程序的各个窗口。
定义:
dialog
模块拥有全部原生 dialog 的 API,如打开文件、保存文件和警告等弹窗。相关资源:
主进程,一般是一个命名为 main.js
的文件,该文件是每一个 Electron 应用的入口。它控制了应用的生命周期(从打开到关闭)。它既能调用原生元素,也能建立新的(多个)渲染进程。另外,Node API 是内置其中的。
定义:
Next:渲染进程
相关资源:
渲染进程是应用的一个浏览器窗口。与主进程不一样,它能存在多个(注:一个 Electron 应用只能存在一个主进程)而且相互独立(它也能是隐藏的)。主窗口一般被命名为 index.html
。它们就像典型的 HTML 文件,但 Electron 赋予了它们完整的 Node API。所以,这也是它与浏览器的区别。
定义:
Next:把它想象成这样
相关资源:
Chrome(或其余浏览器)的每一个标签页(tab)及其页面,就比如 Electron 中的一个单独渲染进程。即便关闭全部标签页,Chrome 依然存在。这比如 Electron 的主进程,能打开新的窗口或关闭这个应用。
相关资源:
Next: 相互通信
因为主进程和渲染进程各自负责不一样的任务,而对于须要协同完成的任务,它们须要相互通信。IPC就为此而生,它提供了进程间的通信。但它只能在主进程与渲染进程之间传递信息(即渲染进程之间不能进行直接通信)。
定义:
Next:汇成一句话
Electron 应用就像 Node 应用,它也依赖一个 package.json
文件。该文件定义了哪一个文件做为主进程,并所以让 Electron 知道从何启动应用。而后主进程能建立渲染进程,并能使用 IPC 让二者间进行消息传递。
定义:
package.json
文件: 这是一个常见的 Node 应用文件,它包含了关于项目的元数据和一系列依赖。Next:快速开始
Electron Quick Start 代码库是一个 Electron 应用的基本骨架,拥有前文说起的 package.json
、main.js
和 index.html
。这是你了解和学习 Electron 的好开头!固然,查看下面资源中的 Boilerplates,在里面选择适合你的模板。
Next: 打包
相关资源:
应用构建完成后,能够经过 命令行工具 electron-packager
对其打包为适用于 Mac、Windows 和 Linux 的应用。固然,你能够在 package.json
添加该命令行。查看下面相关资源,学习如何将应用发布到 Mac 和 Windows 的 App Store。
Next:更多资源
定义:
相关资源:
这里提供更多资料供你更深刻且全面地学习 Electron。
相关资源: