每次 Electron 有最新新闻的时候,都会有很多朋友留言,问有没有相关教程,本人也是观察有一段时间了,一直鲜有人提供相关的学习内容,所以在此就给大家提供下一些入门和进阶教程,希望大家多多支持,谢谢!

本文的主要目的,是要教会大家如何使用 Electron 从 零 创建 Windows 的 .exe 或者 OS X / linux 的 桌面可执行应用程序。

案例演示

由于资源不多,直接将自己之前开源的一个 google chrome extension 代码引用过来,无需修改源码,值要配置好 electron 环境就可以运行!插件的开源仓库地址:http://git.oschina.net/cyzshenzhen/GJP-tools-chrome-extension

一、Electron 是什么

官方描述

Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux.

个人理解

就是一个Chrome浏览器封装成窗体,然后加载你做的HTML程序,直接看到效果。比较类似于手机端,基于微信的H5微网站。

应用场景

想做桌面应用,又不会c++,又不会c#,又不会swing,也不会python等各大创建桌面窗体语言,但是会HTML、CSS,没错,那就是你了。

注意!注意!注意!

由于 Electron 本身就是基于 Chromium 的,所以它的基础大小就已经很大了,应该有四五十M,如果介意文件大小的话,劝您还是再看看...

由于 Electron 本身就是基于 Chromium 的,所以它的基础大小就已经很大了,应该有四五十M,如果介意文件大小的话,劝您还是再看看...

由于 Electron 本身就是基于 Chromium 的,所以它的基础大小就已经很大了,应该有四五十M,如果介意文件大小的话,劝您还是再看看...

二、开发 Electron 需要会什么

必须的

HTML

CSS

JavaScript

其他

node.js (Electron 本身就基于node.js,不会没关系,直接照着教程来就行)

git (demo是从git仓库拿的,不会没关系,自己去下载就行)

开发工具 (本人使用的是 vscode)

三、Hello World!

官方三步start

$ git clone https://github.com/electron/electron-quick-start

$ cd electron-quick-start

$ npm install && npm start

启动效果

单独启动

npm start

结构分析

| -- index.html

| -- main.js

| -- package.json

index.html

你没看错,它就只是一个HTML而已!

Hello World!

Hello World!

main.js

窗口配置,主要是控制窗口的高度、宽度、入口页面、等

下面是代码的内容,一般情况下,只需要看下两个地方就行

入口页面配置:mainWindow.loadURL()

打开调试工具:mainWindow.webContents.openDevTools()

'use strict';

const electron = require('electron');

const app = electron.app;

const BrowserWindow = electron.BrowserWindow;

let mainWindow;

functioncreateWindow(){

mainWindow = new BrowserWindow({width: 800, height: 600});

// 指定一个入口的html文件

mainWindow.loadURL('file://' + __dirname + '/index.html');

// 打开调试工具,其实就是chrome的那套调试工具

//mainWindow.webContents.openDevTools();

mainWindow.on('closed', function(){

mainWindow = null;

});

}

app.on('ready', createWindow);

app.on('window-all-closed', function(){

if (process.platform !== 'darwin') {

app.quit();

}

});

app.on('activate', function(){

if (mainWindow === null) {

createWindow();

}

});

package.json

项目名称、版本信息等,以及node.js相关的依赖配置,类似于java引用.jar

electron-packager

electron-prebuilt

两个都是用来打包成可执行应用程序的必备依赖包,细节我们在下一个步骤里面进行详细的说明

{

"name": "electron-quick-start",

"version": "1.0.0",

"description": "n",

"main": "main.js",

"scripts": {

"start": "electron main.js"

},

"devDependencies": {

"electron-packager": "^5.2.1",

"electron-prebuilt": "^0.36.0"

}

}

四、打包为可执行程序

1、打包

现在我们只能通过 npm start 源码 来运行程序,如何打包成系统可执行程序,不要node.js环境也可以用呢?这里我们将会用到 electron-packager、electron-prebuilt

现在,我们使用 electron-packager 来进行打包,此处我们打包为 windows 系统的 .exe 程序

首先,进入项目根目录,然后执行下面命令行

electron-packager ./ --platform=win32 --arch=x64 --version=0.37.2 --icon=./images/favicon.ico

如果还想打包 linux / OS X 环境的可执行程序,可查看帮助信息

electron-packager

即可看到相关资料,如果不明白的话,可以留言,一起学习!

2、效果

五、如何跟朋友 show 一个,装个X

教程到这里,入门基本已经结束了,那么估计有些童鞋估计还是不明白,怎么把这个程序发给朋友,显得自己流弊,其实很简单的!你只需要把生成出来的那个文件夹,打一个压缩包,然后告诉他,执行那个.exe文件就够了!!!

linux arm桌面程序,Electron 从零创建一个 Windows/OS X/Linux 的桌面可执行程序相关推荐

  1. 使用C++代码创建一个Windows桌面应用程序

    下面六星教育整理使用C++代码创建一个Windows桌面应用程序,供大家学习参考. WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HI ...

  2. linux怎么创建用户登录,如何创建一个不能登录的Linux用户名

    作为一个Linux系统管理员,出于安全原因,有时候可能需要创建一个无法登录的用户.什么时候需要这种类型的用户?例如,您必须为应用程序创建一个用户才能正常运行,但是您不希望该用户具有主目录或登录权限. ...

  3. 创建一个windows服务的小程序及注意事项

    1,首先在vs中创建一个windows服务项目 会生成一个Service1.cs的文件  打开该文件 切换到代码视图  有两个方法   OnStart(string[] args)和OnStop()方 ...

  4. 创建一个Windows Service应用程序

    创建一个Windows Service应用程序 下载本文代码 见资源 正是由于.NET Framework的出现,才使你能够构建出在系统重新启动时自动运行的.无人参与的(unattended)应用程序 ...

  5. 利用c语言在屏幕上画出窗口,第一课:创建一个windows窗口

    跟我一起学图形编程                               作者:姚明联系方式: 欢迎使用我的图形学教程.我是计算机专业的学生,对图形图像技术有浓厚的兴趣,就读期间广泛的涉及相关知 ...

  6. C#创建一个Windows Service

    Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...

  7. linux 桌面程序 一般用什么语言写,什么编程语言比较适合开发桌面应用程序?...

    这个要看具体平台了,如果是Windows系统,那么C#无疑是首选,如果考虑到跨平台,那么C++可能更合适,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下: C# 这是微软自主设计研发的一款编程语言, ...

  8. 小满Vue3第三十九章(Vue开发桌面程序Electron)

    建议视频教程小满Vue3(第三十九章 electron桌面程序)_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop app ...

  9. python windows桌面程序开发_Python 零基础入门

    Photo by Chris Ried on Unsplash Python 是一种易于学习又功能强大的编程语言.它提供了高效的高级数据结构,还有简单有效的面向对象编程.Python 优雅的语法和动态 ...

最新文章

  1. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)
  2. MySQL原生密码认证
  3. 判断无线网卡是否支持5GHz频段
  4. 英伟达新卡皇3090Ti:功耗飙至450W换来性能涨11%
  5. 9.3 域名解析与网页爬虫
  6. Matlab中plot基本用法
  7. Debian 9 中设置网络
  8. 编译安装PHP出现configure: error: MySQL configure failed. Please check config.log的解决方法
  9. 如何破解几乎所有的求职面试
  10. 表单嵌套问题的解决方法
  11. JS中函数的调用和this的值
  12. Delphi、Lazarus保留字、关键字详解
  13. mysql web聊天_多嘴WEB聊天室基于PHP+MYSQL的中文聊天室
  14. python菜鸟教程 | 字典(Dictionary)
  15. 电大网络教育计算机应用基础,(热)最新电大奥鹏远程网络教育计算机应用基础题库.doc...
  16. 常用的RS485芯片简介
  17. 从零搭建美团饿了么外卖红包CPS小程序教程
  18. PHP加密解密方法 阿星小栈
  19. 移动端UI一致性解决方案
  20. HYSBZ 2565 最长双回文串 (回文树)

热门文章

  1. cnpm安装webpack_快速打造最强 Webpack 前端工具链
  2. Unity上的Oculus Quset2开发(2) —— 在VR里打棒球
  3. php常见预定义常量,php跨平台小结 常用预定义常量
  4. 综合实例_为啥要做“三维管线综合”?看个实例就明白
  5. Linux alias设置别名 Ubuntu设置别名创建简写指令短命令
  6. OpenShift 4 Tekton (4) - 使用Workspaces为包含Maven Build的Pipeline提速
  7. ASP.NET核心之路微服务第03部分:Identity
  8. java web开源项目源码_超赞!推荐一个专注于Java后端源码分析的Github项目!
  9. internal java compiler error_java字节码注入AOP作业心得
  10. Django 基础,创建一个Django,并成功在网页中运行