H5开发桌面应用?

没错,H5现在也可以开发跨平台的桌面应用了,这意味着我们可以用网页来设计和制作桌面应用。

基于Node.js的Electron框架就可以实现桌面应用,比较有名的Electron框架实现的桌面应用就是微软的VS Code了,下面给出Electron的官网地址:

https://electronjs.org/

创建项目

可以在项目中作为依赖项安装:

npm install electron --save-dev

也可以全局进行安装:

npm install electron -g

快速创建一个项目的方式是直接把官网的示例拉下来即可:

https://github.com/electron/electron-quick-start

安装命令如下:

npm install

启动命令如下:

npm start

然后就可以看到启动界面了。

打包应用

使用npm下载安装electron-packager:

npm install electron-packager -g

安装好后,进入要打包的应用目录执行下面的脚本即可:

D:\electron-quick-start>C:\Users\Administrator\AppData\Roaming\npm\electron-packager . TestApp --out ../electronPublish
  1. C:\Users\Administrator\AppData\Roaming\npm\electron-packager:是下载后的electron-packager文件所在地址;
  2. .:表示打包当前目录;
  3. TestApp:应用名称;
  4. --out ../electronPublish:输出目录为上级目录electronPublish;

打包后的Windows端程序,目录下的resources\app文件夹就是网页资源存放目录,用于支持运行的其它文件大概有130M。

最后说一下

Electron实际上就是Node.js的操作文件的能力+Chrome内核的渲染能力+v8引擎的速度的一个集合体,额外扩展了系统控件和文件处理的能力。

由于H5项目的特性,实际上,只需要打包出示例的程序之后,就可以通过替换resources\app文件夹下的内容来达到替换应用的功能的目的,另外如果直接将连接指向网上的地址也是可以的,但是要注意,这样会使网络上的JS拥有控制电脑内所有文件的权限,会出现很大的安全风险。

Electron初探的更多相关文章

  1. electron初探问题总结

    使用electron时间不是很久,随着使用的深入慢慢的也遇到一些问题,下面总结一下遇到的问题与大家分享,避免趟坑. 主要问题汇总如下: webview与渲染进程renderer间通信 BrowserW ...

  2. electron——初探

    是什么? Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时 ...

  3. Windows Electron初探

    最近闲来无事,玩玩electron. 1.安装nodejs 下载地址:http://nodejs.cn/download/,下载64位.安装完成后,打开C:\Program Files\nodejs\ ...

  4. 初探Electron,从入门到实践

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.   在开始之前,我想您一定会有这样的困惑:标题里的Electron ...

  5. 初探Electron

    Electron是什么? 官网是这么描述的:Build cross platform desktop apps with JavaScript, HTML, and CSS 翻译一下:使用JavaSc ...

  6. 2017-12-22 日语编程语言"抚子"-第三版实现初探

    前文日语编程语言"抚子" - 第三版特色初探仅对语言的语法进行了初步了解. 之前的语言原型实现尝试(如编程语言试验之Antlr4+JavaScript实现"圈4" ...

  7. Electron使用与学习--(页面间的通信)

    目录结构: index.js是主进程js. const electron = require('electron') const app = electron.app const BrowserWin ...

  8. Electron使用与学习--(基本使用与菜单操作)

    对于electron是个新手,下面纯属个人理解.如有错误,欢迎指出.   一.安装 如果你本地按照github上的 # Install the `electron` command globally ...

  9. 初探领域驱动设计(2)Repository在DDD中的应用

    概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...

随机推荐

  1. APP开发,微信第三方登录的介绍

    去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信.微博.fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助. 微信开放平台(open.weixin ...

  2. shell sort result to self

    You can use file redirection to redirected the sorted output: sort input-file > output_file Or yo ...

  3. ps选区的两种复制方法

    1.选区选中之后,利用移动工具,按住alt键,拖动即可复制所选区域. ps:再一个图层上操作. 2.选区选中之后,Ctrl+c .Ctrl+v复制粘贴,按Ctrl+T移动. ps:新建一个图层操作,不 ...

  4. LR逻辑回归文章

    http://blog.csdn.net/suipingsp/article/details/41822313

  5. Your ApplicationContext is unlikely to start due to a @ComponentScan of the default

    问题:** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the defau ...

  6. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.B.跳一跳,很简单的(Hash 倍增)

    题目链接 首先变换的周期是\(26\),而所有字符是同时变的,所以一共就只有\(26\)种树,我们对\(26\)棵树分别处理. 求某节点到根路径上的字符串,可以从根往下哈希,\(O(n)\)预处理出. ...

  7. 杭店 ACM 1864 最大报销额 01背包

    ![勾选C++才能过 题意: 先规定可以报销一定额度的发票,物品类型有A,B,C,三种.要求每张发票总额不得超过1000元,单项物品不得超过600.求报销的最大额 分析: 先找到合格的发票,然后再挑选 ...

  8. [CC-CLPOINT]Optimal Point

    [CC-CLPOINT]Optimal Point 题目大意: 在\(k(k\le5)\)维空间中,如果点\(X\)的坐标为\((x_1,x_2,\ldots,x_k)\),点\(Y\)的坐标为\(( ...

  9. php file()函数

    file() — 把整个文件读入一个数组中 使用使用方法: file(filename,[$flags]); 可选参数 flags 可以是以下一个或多个常量: FILE_USE_INCLUDE_PAT ...

  10. jquery移除事件,绑定事件,触发事件

    $('.gcddfadf-btn-pay').unbind('click');//移除绑定事件 $('.gcddfadf-btn-pay').bind('click',function(){});// ...