博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Electron入门介绍
阅读量:7035 次
发布时间:2019-06-28

本文共 2747 字,大约阅读时间需要 9 分钟。

Electron是什么

可以认为Electron是一种运行环境库,我们可以基于此,用HTML、JS和CSS写桌面应用。

PC端的UI交互,主要有web应用和桌面应用。具体采用哪种方式,主要看系统的应用场景,哪个更合适用哪个。
对于Web应用:

优点:

  1. 部署、升级方便。用户通过浏览器就可以访问;
  2. HTML/JS/CSS编写,方便且高效;
  3. windows、linux都支持;

缺点:

  1. 对于开发者:浏览器适配比较繁琐;
  2. 对于开发者:有些应用,必须指定浏览器或版本。比如OCX必须是IE内核,H5要求浏览器必须是较高版本;
  3. 对于用户:传统行业中,部分用户对web应用不习惯,尤其在专业工具软件方面,觉得web应用没有桌面应用用起来踏实。
  4. 对于开发者:必须打开浏览器,输入一长串URL地址(虽然可以建立浏览器收藏夹或者创建URL的快捷方式到桌面,但大部分用户不会这么做);

因为之前开发的一款应用是专业工具软件,给科研院所的设计人员使用。而且用户的大部分系统是XP,且不允许安装非IE浏览器。我们发现,采用web方式,效果很不好。因此决定用桌面应用。

考虑到开发效率、人员配备情况以及后续的升级,于是调研了一下nw.js和Electron技术。本文主要讲解Electron的入门。(注:Electron的一个遗憾,不支持XP系统。nw.js 0.14.7以后版本不支持XP系统。)

Electron网址:

环境安装(Windows)

Node.js安装

Electron中使用了Node.js,因此首先安装Node.js。安装十分简单,直接从官网下载安装包,点击安装即可。当前最新版本8.9.4。

新版本的Node.js中自动集成了npm,npm是JS的包管理器。可以帮助我们管理包的下载、依赖、部署、发布等。可以认为是js中的maven。

安装完后,在命令行窗口中分别输入node -v和npm -v来查看node和npm的版本。

cnpm安装(非必须)

考虑到npm下载包时是从国外的服务器上下载,不仅速度慢,而且不稳定。因此,建议使用淘宝npm镜像(官网:)。

安装cnpm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm的使用方法和npm一样。后续使用中,npm全部替换为cnpm即可。

例子

从github上下载第一个示例,运行看效果

# 克隆这仓库> git clone https://github.com/electron/electron-quick-start# 进入仓库> cd electron-quick-start# 安装依赖库> cnpm install# 运行应用,也可以用: cnpm run start> cnpm start

注意:需要安装git,具体安装步骤这里不描述。另外,注意这里使用的cnpm。

如果没有安装git,直接下载压缩包也可以。

命令行中执行上述操作,最后的效果:

图片描述

(注:我把命令行窗户和弹出的Hello World窗口截在一张图了)

主要文件结构

进入到electron-quick-start文件夹,可以看到主要目录结构

electron-quick-start/ ├── package.json ├── main.js ├── index.html ├── node_modules/

index.html:窗口中显示的内容,在index.html中

package.json:项目的配置信息和所需的各种模块,在这里配置。npm install命令根据它,自动下载所需模块
main.js:用于创建窗口和处理系统事件
node_modules:npm install安装包的位置。如果是全局安装,则不在这个目录。

可以打开各个文件和目录,看看具体的内容,先大致了解,有个整体概念。

例子中package.json简要解释

"name": "electron-quick-start"

通过name字段,指定窗口标题。

"main": "main.js"

通过main字段,指定应用的启动脚本。如果未指定,Electron会优先加载index.js。

"scripts": {    "start": "electron ."  }

配置npm的命令,这里是start命令。npm start命令调用的就是这里的“electron .”

注意:这里直接使用的是"electron .",而不是"node_modules.binelectron ."。虽然前面electron模块是局部安装,但是运行npm命令时,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。因此,即使非全局安装,electron也可以不带路径。这里的electron其实就是一个shell脚本。

"devDependencies": {    "electron": "~1.6.2"  }

配置依赖的模块,这里只有Electron模块。

自己手动编写一个例子,并运行

如果上诉的简单例子还不够直观,可以自己建立一个。

》创建一个文件夹ETest;
》该文件夹下建立三个文件:index.html, main.js, package.json。文件的内容参考上诉例子;
》打开命令窗口,cd到ETest目录下;
》启动程序:e:githubelectron-quick-startnode_modules.binelectron .
》完成。
注意这里直接使用的是上一步electron-quick-start例子中的electron命令。

还有一个重要例子

github上有一个electron-api-demos的例子,里面介绍了主要的一些功能及实现代码。可以下载下来参考:

> git clone https://github.com/electron/electron-api-demos> cd electron-api-demos> cnpm install> cnpm start

结果界面:

图片描述

这里例子中,展示了:

》创建新窗口;
》管理窗口状态;
》窗口失去焦点和获取焦点的事件;
》创建无边框窗口;
》自定义菜单和右键菜单;
》注册键盘快捷键
》打开外部链接;
》通知消息(带图片);
》使用系统窗口(文件选择窗口、错误提示窗口、信息提示窗口、保存窗口)
》添加系统状态栏图标;
》多进程间通信;
》获取系统信息;
》拷贝和粘贴;
》打印PDF;
》截图。

要更深入的了解,可以参网上相应的文档。

转载地址:http://rkfal.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
MPLS 原理及配置思路
查看>>
实现 从“c:\\test.txt”这个文件中查找 "mobent"字符串出现的次数,并且记录出现的位置...
查看>>
HTML5 canvas 在线画笔绘图工具(一) 功能介绍
查看>>
我的友情链接
查看>>
lnmp环境下php7 安装redis扩展
查看>>
PPT实例教程第一篇:封面页改造
查看>>
Linux安全机制之文件加密解密
查看>>
快捷键
查看>>
linux 添加路由,让不同网络环境过来的访问按原线路回去
查看>>
oracle service 的创建、使用-基础分析
查看>>
我的友情链接
查看>>
lnmp环境修改最大上传文件大小限制
查看>>
百度地图API——MarkerTool单击事件的添加
查看>>
华为任正非《一江春水向东流》读后感
查看>>
用Perl脚本实现FTP的文件下载
查看>>
HASP HL Time
查看>>
我的友情链接
查看>>
转换jdk版本
查看>>
一生的朋友
查看>>