nodejs的桌面应用(electron)

最近发现nodejs可以做桌面应用,主要是之前的同事在搞,我也要稍微研究下不能落后啊,基于nodejs的桌面应用,常用的就是nw.js和electron,nw出的比较早,资料比较多,bug也很多,它的前身是node-webkit文档可以参考nw.js,微信web开发工具、钉钉都是基于 nw.js 开发的,nw.js支持xp,还有很多人抱着xp过日子呢。而electron比较全比较新,在github的文档electron也比较多,有中文文档的,成型的case很多Electron由github主导,有成熟的杀手级产品atom和vs code,Intel和微软都有参与,社区还是很活跃的。

这里写图片描述

原理研究

web-native技术是基于 Chromium 和 Node.js 运行的。chromium的商业化产品就是我们熟悉的chrome浏览器。chromium基本就是一个操作系统,里面提供了非常复杂的协议栈和各种功能,包括但不限于:

跨平台的系统资源访问,如文件系统
各种互联网相关协议,如HTTP, HTTPS, FTP, DNS, etc.
强大的并发处理能力
各种压缩协议和算法
页面快速渲染
javascript执行引擎
磁盘缓存机制

electron做了如下事情:
(1) 将nodejs和chromium的结合起来,让使用者可以调用node.js的函数,让你可以使用几乎所有的nodejs社区里的module。
(2) 合并nodejs和chromium两者里的web引擎(都基于v8)。这样所有javascript运行在一个context下。
(3) 修改沙箱模型,去除很多对桌面应用而言没有意义的安全手段,让应用可以最大程度访问本地资源(比如文件,本地网络等)。

一旦环境跑起来,就跟做一个网页几乎就没什么区别,加载CSS,图片啊,JS就可以了。因为本质上,electron就是给你搞了一个Chrome浏览器的壳子,只是比传统网页多了一个访问桌面文件的功能,跟cordova其实没有多大的差别,只是底层和运行环境稍有不同。所以不管是什么jquery,vue,react,cycle.js,bs,dojo,prototype拉起来就是干,也不用担心兼容性。

看下electron主打的功能
自动更新
原生的菜单 & 通知
崩溃报告
调试 & 性能分析
Windows 安装程序

一个基础的Electron包含三个文件:package.json(元数据),main.js(代码)andindex.html(图形用户界面)。框架由Electron可执行文件(Windows中为electron.exe、macOS中为electron.app、Linux中为electron)提供。开发者可以自行添加标志、自定义图标、重命名或编辑Electron可执行文件。

下面是nw.js和electron的相关功能对比图

这里写图片描述
这里写图片描述

跑个程序试下electron

git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
cnpm install  //是cnpm啊!
npm start

通过上面的一顿操作你会获取到一个window的窗口

//下面是发布流程

npm install electron-packager -g
electron-packager . helloworld --out ../electron

就可以在上级目录的electron/helloworld-win32-x64中的找到一个helloworld.exe来使用,这就是window下的程序了。

js统一江湖指日可待

参考资料
用nodejs开发桌面应用
用Nodejs开发桌面应用。NW.js 和 Electron 各有什么优缺点,你选择哪个?
NW.js & Electron Compared (2016 Edition) - TangibleJS

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript语言进行服务器端和桌面应用程序的开发。虽然Node.js主要用于构建服务器端应用程序,但也可以使用它来开发桌面应用。 要开发Node.js桌面应用,可以使用Electron框架。Electron是一个开源的跨平台桌面应用程序开发框架,它使用Node.js和Chromium来构建应用程序。使用Electron,开发者可以使用HTML、CSS和JavaScript来构建跨平台的桌面应用。 以下是使用Node.js和Electron开发桌面应用的一般步骤: 1. 安装Node.js:首先需要安装Node.js,可以从官方网站(https://nodejs.org)下载并安装适合你操作系统的版本。 2. 创建项目:在命令行中创建一个新的项目文件夹,并进入该文件夹。 3. 初始化项目:在项目文件夹中运行命令`npm init`,按照提示初始化项目,并生成一个`package.json`文件。 4. 安装Electron:运行命令`npm install electron`来安装Electron依赖。 5. 创建主进程文件:在项目文件夹中创建一个主进程JavaScript文件,例如`main.js`,这个文件将作为应用程序的入口点。 6. 创建窗口:在`main.js`中使用Electron的API创建应用程序窗口,并加载你的应用程序的HTML文件。 7. 开发应用程序:使用HTML、CSS和JavaScript来开发你的应用程序界面和逻辑。 8. 打包应用程序:使用Electron提供的打包工具将应用程序打包成可执行文件,以便在不同平台上运行。 以上是使用Node.js和Electron开发桌面应用的基本步骤。通过这种方式,你可以使用熟悉的Web技术来构建功能强大的跨平台桌面应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值