web技术进行跨平台的桌面应用程序开发

647 阅读3分钟

1、开发框架的介绍

背景介绍

  • NW.js和Electron 是基于node.js开发的桌面应用框架
  • 利用它们可以让开发者使用HTML、CSS、JavaScript来构建跨平台的桌面应用程序
  • NW.js背靠Gnor Tech 和英特尔;Electron背靠GitHub
  • 他们构建出来的应用可以同时在Windows、Mac OS 、Linux上运行

node 简单介绍

  • node.js是一种编程框架,它可以使开发者使用JavaScript来构建服务端应用
  • node.js衍生出来的流行的框架:Express、Hapi、Meteor、Sails
  • node.js可以用来开发桌面应用程序

Nw.js和Electron支持创建哪一类应用?

  • electron 提供一个GitHub仓库(awesome-electron)github.com/sindresorhu…
  • Slack:企业沟通协作工具,支持音频和视频通话——使用Electron开发
  • Light Table这是一款代码编辑器——使用NW.js开发
  • Game Dev Tycoon 是一款模拟类游戏
  • Gitter 是一种服务,提供聊天室功能——使用NW.js开发
  • Macaw是一款所见即所得的web设计工具
  • Hyper是一款极简的终端应用——使用Electron开发

2、node.js桌面应用程序与web应用比较

web应用的优劣势

  • web应用繁荣:主要因为网速的提升以及使用互联网的人越来越多,使用互联网的成本也很低,降低开发者制作web应用的准入门槛,开源软件的崛起让分发和获取软件的成本大大降低。
  • web应用的制约和挑战:网络不是一直可用的,不方便处理计算机中的大文件,限制于web浏览器的安全策略,受限于网络和浏览器特性较大。

桌面应用的优点

  • 启动和运行不依赖网络
  • 可以访问计算机的操作系统和硬件资源,以及读写用户计算机中的文件系统
  • 可以更好的控制软件的用户体验
  • 桌面应用程序安装过后他就在哪里了,不需要像web那样需要一台web服务器提供7✖️24小时的支持

3、Electron和NW.js的区别

  • NW.js:是使用HTML作为入口接入文件;维护一个共享的JavaScript上下文
  • Electron:使用JavaScript作为入口接入文件;有多个独立的JavaScript上下文

4、Electron

介绍与安装

  • 最早的名字叫Atom shell
  • Electron将加载应用视图的职责委派给JavaScript代码
  • 安装: npm install -g electron

Electron 特性

  • 支持创建多视窗
  • 通过shell和screen API 整合了桌面操作系统的特性
  • 支持获取计算机电源状态
  • 支持阻止操作系统进入省电模式
  • 支持创建托盘应用
  • 支持创建菜单和菜单项
  • 支持为应用添加全剧键盘快捷键
  • 支持通过应用更新来自动更新应用代码
  • 支持汇报程序崩溃(独有特性)
  • 支持自定义Dock菜单
  • 支持操作系统通知
  • 支持为应用创建启动安装器

Electron工具