electron --- 构建桌面应用
最近无意间看到了electron和nw的相关信息,感到很惊讶,因为学习前端也有一段时间了,竟然发现js还有这么强大的功能,因为js不仅可以写网页、写webapp、写hybrid,以及前不久出现的小程序,现在甚至已经可以用来写桌面应用了,从github上的star数已经快到50000就可以知道electron是多么火了,所以这里简单了解一下,以后有机会还是可以使用起来。
官网介绍如下:electron使用html、css、js构建跨平台的桌面应用。当前版本是1.6.11,所以还是很新的一个框架,但是就目前的star数而言,可知其发展前景还是很不错的。并且使用electron会比你想象的更加简单,因为如果你会写网站,那么你就可以构建一个桌面app。 Electron是一个使用html、css、js构建原生app的框架。它帮你解决了最困难的部分,所以你只需要关注于应用的核心部分即可。
Electron三大特点:
- 使用web技术更易构建 --- Electron使用chromium以及nodejs,这样就可以使用html、css、js来创建桌面app。
- 开源。
- 跨平台 --- Electron兼容Mac、Windows以及Linux平台,即使用Electron创建的app可以在这三个平台上跑起来。
使用了Electron创建的桌面app
最初使用Electron创建的是 Atom 编辑器,随后又开始被例如微软、脸书等大公司开始使用。

开始
在https://electron-api-demos.githubapp.com/updates/ElectronAPIDemosSetup.exe这个链接中,我们可以下载使用Electron构建的app,这个app里介绍了使用electron的一些主要的功能。 如下所示:
这里可以看到,和chrome浏览器非常类似,因为Electron就是使用chromium的,但是我们是可以通过设置去掉上面的toolBar和右边的滑动栏的,以更加接近原生的app。
https://electron.atom.io/docs/api/ 这里是使用electron所需要的所有的api。
对于Electron我们主要可以使用的功能有:
- 窗口:创建一个窗口、创建无边界窗口、控制窗口状态、控制窗口的获得焦点和失去焦点、在app崩溃时重新加载、在app挂起时重新加载。
- 菜单:自定义的菜单、右键菜单、键盘快捷键设置。
- 原生用户接口:打开文件、浏览器中打开一个链接、使用系统的对话框 --- 错误对话框、提示对话框、保存对话框。
- 通信: 在主进程和渲染进程之间进行通信 --- 包括同步通信和异步通信, 和一个隐藏的窗口通信。
- 系统: 获取app的位置信息、获取app的版本信息、获取系统信息、获取屏幕信息、使用剪切板等。
- 媒体: 打印为PDF、截屏。
官方electron推荐app:https://github.com/electron/electron-quick-start
这个项目中就是最简单的electron构建的桌面应用。
electron --- 构建桌面应用的更多相关文章
- 使用 Electron 构建桌面应用(拖动控制篇)
使用 Electron 构建桌面应用(拖动控制篇) 当窗口被定义了大小,我们也就是在自定义这个窗口,使得它不可拉伸没有框架,让它看起来就像一个真正的声效器浮在桌面上. 现在问题来了 – 要如何移动或者 ...
- AngularJS 和 Electron 构建桌面应用
译]使用 AngularJS 和 Electron 构建桌面应用 原文: Creating Desktop Applications With AngularJS and GitHub Electro ...
- 使用 AngularJS 和 Electron 构建桌面应用
GitHub 的 Electron 框架(以前叫做 Atom Shell)允许你使用 HTML, CSS 和 JavaScript 编写跨平台的桌面应用.它是io.js 运行时的衍生,专注于桌面应用而 ...
- 使用electron构建跨平台Node.js桌面应用
最近,把团队内经常使用的一个基于Node.js制作的小工具给做成了可视化操作的桌面软件,使用的是electron,这里简单分享一下使用electron的一些经验和心得. 一.如何使用electron把 ...
- 使用electron构建跨平台Node.js桌面应用经验分享
by zhangxinxu from http://www.zhangxinxu.com/wordpress/?p=6154 本文可全文转载,但需得到原作者书面许可,同时保留原作者和出处,摘要引流则随 ...
- electron自定义桌面应用的外观
1. 控制应用视窗大小 构建桌面应用时,我们要考虑我们的应用程序需要如何让用户来使用,那么我们需要提供一个视窗,那么该视窗可以最大化展示,也可以最小化展示,当然我们也希望可以全屏运行. 在electr ...
- 使用Electron开发桌面应用
Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序.它是基于io.js 和 Chromium 开源项目,并用于在 ...
- Electron构建一个文件浏览器应用(二)
在前一篇文章我们已经学习到了使用Electron来构建我们的文件浏览器了基础东西了,我们之前已经完成了界面功能和显示文件或文件夹的功能了,想看之前文章,请点击这个链接 .现在我们需要在之前的基础上来 ...
- Electron 实战桌面计算器应用
前言 Electron 是一个搭建跨平台桌面应用的框架,仅仅使用 JavaScript.HTML 以及 CSS,即可快速而容易地搭建一个原生应用.这对于想要涉及其他领域的开发者来说是一个非常大的福利. ...
随机推荐
- OpenCV实现pHash哈希
离散余弦变换(DCT,Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(DFT,Discrete Fourier Transform),但是只使 ...
- 团体程序设计天梯赛L2-009 抢红包 2017-03-22 19:18 131人阅读 评论(0) 收藏
L2-009. 抢红包 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢 ...
- 简单介绍Java的静态分派和动态分派
最近复习JVM的知识,对于静态分派和动态分派的理解有点混乱,于是自己尝试写写代码,在分析中巩固知识. 有如下一段代码,请问每一段分别输出什么? package com.khlin.my.test; c ...
- 自定义spring valid方式实现验证
推荐:http://blog.csdn.net/xulianboblog/article/details/51694924
- [LeetCode 题解]:Gas Station
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 There are ...
- linux权限及目录
[-][rwx][r-x][r--] r:4 - 读 w:2 - 写 x:1 - 执行 1:代表文件类型 2:代表文件所有者的权限 3:代表文件所在组的权限 4:代表其他用户的权限 chgrp:修 ...
- Backup--压缩备份和TDE
1>对启用TDE的数据库,压缩备份的备份文件大小与未压缩备份的备份文件大小差不多(压缩比为 1 ) 2>对启用TDE的数据库,压缩备份的备份时间远高于未压缩备份 2>对启用TDE的数 ...
- python学习之路 一 :编程语言介绍
本节重点 理解编程语言是什么? 大体明白,编程语言是如何与计算机底层通信的编程语言有哪些分类? 分别列举主流编程语言的特点 什么是编程,为什么要编程 一.什么是编程语言?为什么要编程? 编程:是个动词 ...
- [TJOI2007] 线段
因为每行必须走完才能到下一行,所以我们有两种决策: 1.最后留在线段左端点 2.最后留在线段右端点 这种存在状态转移且多决策的问题用动态规划来进行递推是最好不过的了. 所以我们设\(dp[i][0/1 ...
- poj 3468 A Simple Problem with Integers 线段树区间加,区间查询和(模板)
A Simple Problem with Integers Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?i ...