编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

「Electron实战」Electron与NW.js的区别

wxchong 2024-12-29 06:31:36 开源技术 12 ℃ 0 评论


1.6. Electron与NW.js的区别

Electron与另一个项目NW.js(以前称为node-webkit)很类似。这两者有许多共同之处,实际上,zcbenz在Electron之前就是NW.js的主要贡献者。即便如此,它们也有几处主要区别,如表1.1所示。

表1.1 Electron与NW.js的主要区别


NW.js使用Chromium的分支版本,Electron使用的是没有修改过的Chromium与Node.js,这使得Electron更容易与Chromium和Node.js的最新版本保持一致。Electron还包含自动更新和崩溃报告模块,NW.js则没有。

NW.js应用程序从一个HTML页面启动,每个浏览器窗口共享一个公共的Node进程,如果打开多个窗口,它们会共享同一个Node进程。Electron将Node和浏览器进程进行分离,Electron由Node开启一个主进程,这个主进程可以打开浏览器窗口,每个窗口都有各自独立的进程,Electron提供了API来实现主进程与浏览器窗口(本书称之为渲染进程)之间的通信。

如果考虑向后的兼容性,那么NW.js可能是更好的选择,因为它支持Windows XP和Vista,而Electron只支持Windows 7及更高版本。对于关注多媒体的应用程序,Electron通常是更好的选择,因为Chromium的FFmpeg库是静态链接的依赖,所以Electron支持更多开箱即用的编码器,NW.js则需要手动链接FFmpeg库。

总结

  • Election是一个使用web技术构建桌面应用程序的运行时。
  • 该项目诞生于GitHub,最初是作为Atom文本编辑器的基础。
  • Electron将Chromium Content Module与Node进行了结合,前者是Chrome浏览器的精简版。
  • 这种组合让你可以构建能访问文件系统和已编译模块,并且能渲染UI和使用web API的应用程序。
  • Electron可用于可大可小的应用程序,如Atom、微软的Visual Studio Code,以及Slack。
  • 对于个人或小型团队来说,Electron是非常好的选择,他们可能既想要程序支持多平台,而又不想学习三种以上的语言及每个平台的框架。
  • Electron让web开发人员可以使用他们已有的技能来构建在原浏览器环境中不可能实现的应用程序。
  • Electron集成了Chromium和Node的最新版本,这意味着你可以使用web平台的最新和最好的特性。
  • Electron应用程序可以访问诸如应用程序菜单及上下文菜单、“打开和保存文件”对话框、电池状态和电源设置等操作系统API。
  • 与基于浏览器的web应用程序相比,Electron应用程序增强了特权,且具有更少的功能限制。
  • Electron应用程序由一个主进程和若干渲染进程组成。
  • 主进程负责处理操作系统交互,管理应用程序的生命周期,并创建渲染进程。
  • 渲染进程负责显示用户界面和响应用户事件。
  • Electron不同于NW.js,因为它使用官方支持的Chromium Content Module,而NW.js使用的是Chromium的定制版本。


《Electron实战》中文版!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表