前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用JS开发桌面应用

使用JS开发桌面应用

作者头像
dys
发布2018-04-03 17:29:24
2.8K0
发布2018-04-03 17:29:24
举报
文章被收录于专栏:性能与架构性能与架构

Javascript在web开发中已经稳稳的占据了重要位置,现在已经开始渗透到桌面开发了

Electron 便是用来创建桌面应用的框架

使用 JavaScript + HTML + CSS 就可以开发跨平台的桌面应用

支持 Windows Linux Mac,在这3个系统中,Electron可以轻松的编译和运行

Electron 是开源的,由 GitHub 亲自维护,还有活跃的贡献者社区

Electron 源于 GitHub 开发的一款文本编辑器 Atom,刚开始,Electron 是为 Atom 而创建,后来被开源了出来

目前是 1.1 版本,还很年轻,他的功能如何呢?是否满足桌面应用开发的需求呢?

看下这些知名应用就知道了

GitHub 的文本编辑器 Atom

聊天群组应用独角兽公司 Slack 使用 Electron 搭建了桌面客户端

微软发布的代码编辑器 Visual Studio Code,使用 Electron 构建

JavaScript 语言发明人 Brendan Eich 的公司使用 Electron 开发了一套全新的网页浏览器 Brave Browser

上手尝试

下面写一个hello world,实际体验一下Electron

最终运行效果

右边的界面是不是很熟悉,因为Electron就是基于Chromium的

代码结构

代码语言:javascript
复制
electron_test
├── package.json
├── main.js
└── index.html
package.json
{
  "name": "deskjs",
  "version": "0.1.0",
  "main": "main.js"
}

格式和 Node 的完全一致,main 字段是应用的启动脚本

代码语言:javascript
复制
index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Hello World!</title>
    <meta charset="UTF-8">
  </head>
  <body>
    <h1>Hello World</h1>
    <h1>第一个 JS 桌面应用</h1>
  </body>
</html>
main.js
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
var mainWindow = null;
app.on('window-all-closed', function() {
  if (process.platform != 'darwin') {
    app.quit();
  }
});
app.on('ready', function() {
  mainWindow = new BrowserWindow({width: 800, height: 600});
  mainWindow.loadURL('file://' + __dirname + '/index.html');
  mainWindow.openDevTools();
  mainWindow.on('closed', function() {
    mainWindow = null;
  });
});

运行

需要你已经安装好了Node.js

安装全局的electron编译包

npm install -g electron-prebuilt

然后在命令行直接执行 electron 这个命令,会自动打开他的控制台

可以直接把electron_test这个文件夹拖到控制台中,便会启动运行这个应用

还可以根据控制台中的提示,在命令行启动应用

electron的项目地址

https://github.com/electron/electron

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档