Electron 基础教程-1.1 Electron是什么

GitHub ELectron(简称Electron)允许你仅仅使用HTML、CSS和JavaScript就可以构建桌面应用,这听起来有些野心勃勃。实际上正如Apache Cordova(也叫PhoneGap)允许只用HTML、CSS和JS来构建移动应用,Electron为桌面开发提供新可能。

Electron最初是用于开发新编辑器Atom的技术,在2013年由Github工程师赵成开发。一开始这项技术被称为Atom Shell,后来改称Electron。虽然当时已经有类似技术,Electron一经问世就被大量开发者关注。实际上早在2008年,使用HTML、CSS和JavaScript开发桌面应用的Adobe AIR就已经发布,替代了ActionScript。所以说Electron不是将web技术用于浏览器之外的开山鼻祖。

本书将带领你从初始化环境、了解关键特性(例如创建本地菜单和窗口等)到如何发布应用到用户来学习Electron的完整生态。我们将重点关注Electron运行的核心代码,而不是拘泥于具体应用的细枝末节。学习Electron你不必精通最新的框架,只需要了解基本的Node.js足矣。

下面列出本书的主要内容:

  • 初始化Electron开发环境
  • 探索如何创建应用窗口
  • 添加本地菜单
  • 实现本地对话框
  • 学习如何实现与系统交互
  • 创建可安装和自动升级的应用

那么如果你准备好进入Electron的世界了,我们就开始吧!


Electron是什么

Electron基于两大极具魅力的技术:Node.js(或简称Node)和Chromium,它们保证了你的任何web应用都能移植到Electron中。简单来讲,你不仅可以将Node应用运行在Electron上,更能同时使用这两大技术构建应用。

这本书就是带领你学会如何同时使用这两大技术构建丰富多彩的桌面应用。举个例子,我们曾经开发了一个简单的桌面应用来帮助开发者生成ir 渐进式网页应用(PWA)的manifest.json文件。PWA是一种将网页本地化,脱离浏览器环境的新型技术。我们本可以使用Node脚本开发了一个简单的命令行程序,但是我们最后决定使用Electron技术开发一个更易用的桌面程序。它允许在应用中拖动图片自动生成应用图标,为你节省了收集的时间。??????

Electron被分为两大组件(谢天谢地没有和物理上一样命名为夸克),它们各有特殊的功能。

Node组件处理文件系统访问、编译模块支持和CommonJS模块支持等。Chromium组件负责例如渲染HTML和CSS,它拥有自己的JavaScript引擎(V8引擎),并且支持全部的Web API。

Electron是一个直接的运行时(runtime)。它并非像Angular或React之类的大规模框架/库,而是供你调用的各种框架的API集合。Electron应用的框架也是依个人爱好而不同。通常来讲UI框架会对目录结构有更严格要求。话虽如此,开发过程还是应尽量遵守一般规范。

什么是Node?

Node.js最初于2009年开源发行,为开发者提供了使用JavaScript编写服务端应用的环境。Node使用谷歌V8引擎作为JavaScript运行时。在这个环境下Node可以访问本地文件系统、构建服务应用和装载模块等。

Node在开发者社区掀起了巨大的浪潮,因此你可以在Electron应用中使用海量的Node模块。

什么是Chromium?

Chromium是谷歌Chrome浏览器的开源版,它们共享相似的代码和功能,只有一些细微的差别,但是二者的许可证是不同的。Electron利用的是Chromium Content Module(CCM)。但是什么是CCM呢?CCM就是“使浏览器成为浏览器”的核心部分,包括Blink渲染引擎和V8 JavaScript引擎。CCM会检索和渲染HTML,加载和解析CSS,当然还有执行JavaScript。

CCM只着眼于渲染web页面的核心部分。其他附加功能(如Chrome扩展程序、同步书签等)并不是CCM的工作。你只要记住CCM的核心职责就是渲染web内容即可。


你可能感兴趣的:(Electron)