首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nw.js与electron

nw.js和Electron都是流行的跨平台桌面应用开发框架,它们允许开发者使用Web技术(HTML、CSS和JavaScript)来构建应用程序。以下是关于nw.js与Electron的相关信息:

NW.js与Electron的基础概念

  • NW.js:NW.js(原名node-webkit)是一个将Node.js和Chromium内核结合在一起的框架,允许开发者使用Web技术构建桌面应用程序。它允许在Web页面中直接调用Node.js API,提供了对系统级API的访问。
  • Electron:Electron最初是为GitHub Atom编辑器开发的,现在由OpenJS Foundation维护。它同样使用JavaScript, HTML和CSS构建跨平台的桌面应用程序。Electron采用主进程和渲染进程的架构,通过IPC机制进行进程间通信。

NW.js与Electron的优势、类型、应用场景

  • NW.js的优势
    • 更紧密地集成Node.js和DOM,简化了开发过程。
    • 适用于需要快速开发跨平台桌面应用的项目。
  • Electron的优势
    • 拥有更活跃的社区和更丰富的生态系统。
    • 提供更多的系统级API和工具,适合需要复杂功能和更高性能的应用。
  • 应用场景
    • NW.js:适用于需要直接访问系统API、对安装包体积不是特别敏感的项目[1](@ref。
    • Electron:适用于需要复杂用户界面、高性能应用,以及已有大量Web技术栈的团队。

NW.js与Electron的对比

  • 架构差异:NW.js将Node.js和Chromium环境更紧密地集成,而Electron则采用主进程和渲染进程的架构。
  • Node.js集成:NW.js中Node.js和DOM共享同一个全局上下文,而Electron通过IPC机制进行通信。
  • 开发者工具和社区:Electron由GitHub开发和维护,拥有更广泛的社区支持。
  • 文档和资源:Electron的文档和开发资源通常更加全面和易于访问。
  • 性能和内存占用:NW.js可能会有更好的性能和更低的内存占用,因为它复用了进程。
  • 生态系统和工具链:Electron的生态系统更丰富,提供了更多的第三方库和工具。
  • 应用大小:NW.js打包后的应用通常比Electron小,这有助于提高应用的加载速度和用户体验。
  • 启动速度和响应性:NW.js可能会有更快的启动速度和更好的响应性,因为它避免了额外的进程开销。
  • 长期维护和支持:Electron由于其广泛的社区支持和频繁的更新,可能提供更好的长期维护和支持。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

前端构造桌面级应用(QQ音乐)

本片文章主要是介绍nw与electron这两个工具。...electron(简介与使用) 官网地址 (不用访问外国网站 这一点很棒) https://electronjs.org/ image 简介 electron 是一个可以让我们使用...与nw相比,electron的使用人数更多,文档更加齐全,使用起来也更加方便。 社区很强大,基本上你遇到的问题 都可以在社区中解决。...Nw与Electron的对比 nw.js无论从表面还是本质都更接近 Node.js,nw.js直接继承和使用了node.js的启动、开发、运行方式,对node.js的修改最小,而 electron...nw.js是和node.js一样是单进程的,electron改成了双进程,技术实现改变。 electron的优点:开源的核心扩展比较容易,界面定制性强,原则上只要是Web能做的他都能做。

2.8K40
  • IM跨平台技术学习(十三):从理论到实践,详细对比Electron和Tauri的优劣

    类似于 NW.js,表面上,它们似乎非常相似,但是这两个项目有本质上的区别,使得 Electron 和 NW.js 成为两个完全独立的产品。...打补丁来实现,Electron 则是通过各个平台的消息循环与 libuv 的循环集成,避免了直接在 Chromium 上做改动;3)支持的功能数量上有明显的差距:Electron 有着较大的社区及社区活跃度...与 Tauri 类似,Windows 上使用的是 Webview2。...Electron 与 Tauri 打开 URL:至此,主要功能已经完成,下一步将进入打包多平台的应用方式。...PS:关于Electron的版本列新实践可以看看《vivo的Electron技术栈选型、全方位实践总结》。10、本文小结NW.js 的时代已经过去,考虑 NW.js 的可以优先 Electron。

    38510

    第一章 Electron介绍 | Electron in Action(中译)

    Electron不是一个复杂的框架 - 它是一个简单的运行时框架。与您从命令行使用Node的方式类似,您可以使用Electron命令行工具运行程序。...其对应的渲染进程必须与主进程进行通讯。 Electron vs. NW.js Electron与另一个名为NW.js(以前称为node-webkit)的项目类似。这两者有很多共同之处。...表1.1 Electron和NW.js之间的主要区别的比较 Electron NW.js 平台 支持官方最新的Chromium版本 Chromium分支版本 进程模型 分离进程模型 共享Node进程...对于多媒体应用,Electron通常是更好的选择,因为Chromium的FFmpeg库是一个静态链接的依赖项,Electron支持更多开箱即用的依赖,用NW.js,您需要手动链接FFmpeg依赖项。...Electron与NW.js的不同之处在于,它使用的是Chromium官方支持的内容模块。而NW,使用定制的Chromium。

    3.6K30

    打算一个卡片记忆软件,全平台架构如何选型?

    Windows, macOS, Linux 中等 HTML, CSS, JavaScript 社区支持 一般 中等 NW.js社区 中等 较大 较大 高 性能相对其他框架较低,内存占用高 中等 NW.js...electron Electron 是由 GitHub 开发的跨平台桌面应用框架,它使用 HTML、CSS 和 JavaScript 技术栈,并基于 Chromium 和 Node.js。...nw.js NW.js(以前称为Node-Webkit)是一个基于Chromium和Node.js的框架,用于构建跨平台的桌面应用程序。...NW.js具有以下特点: 跨平台支持:NW.js可以在多个操作系统上运行,使开发者能够使用相同的代码库构建跨平台的桌面应用程序。...然而,NW.js也存在一些挑战,包括: 性能相对其他框架较低:由于NW.js同时运行Chromium和Node.js,可能导致一些性能方面的挑战,例如初始启动时间较长和内存占用较高。

    44510

    快速了解Electron:新一代基于Web的跨平台桌面技术

    从概念上,Electron与nw.js很相似,但是他们有很重要的区别:一个主要的不同点是Electron 通过 Googles Chromium Content Module 来使用 Chromium...的功能,nw.js 则直接使用了 Chromium本身。...,这个框架作者还为一本中文译名叫《跨平台桌面应用开发:基于Electron与NW.js》的书写了序(见下图)。...这些综合起来回答这个小节的问题就是,用 Electron 开发客户端,用户体验好,开发麻烦小,功能更强大,老板脱发少。 4)那在 Electron 和 NW.js 之间,为啥选择前者?...的关系(上篇)》 《WebSocket详解(五):刨根问底HTTP与WebSocket的关系(下篇)》 《WebSocket详解(六):刨根问底WebSocket与Socket的关系》 《理论联系实际

    4.4K20

    那些你不知道的 node.js 桌面应用开发框架

    说到 node.js 的 GUI 开发方案,首先想到的就是 electron 和 nw.js。但除了它们之外,是否存在其它更轻量级的技术方案可供选择呢?...在这个基础上,再加上个方便操作的 GUI 就好了,于是首先想到的方案自然就是 electron 或者 nw.js。...但打包了 Chromium 内核和 node.js 环境后,如今的 electron 和 nw.js 动不动就上百MB的大小,用来开发这样的小工具实在是不划算。...看起来具体实现基本就是把 react-native、electron 等方案整个打包,再增加了对 Win10 的 UWP 支持,是个大而全而非小而轻的方案?...而移动端的话,原生开发方面,从传统原生开发方式与 react-native 的出现、苹果推出 Swift,到最近谷歌钦定 Kotlin 作为安卓开发的一级语言;Web 前端开发方面,node.js 带来的

    6.1K20

    桌面软件开发框架大赏

    它内部封了一个浏览器核心,但对这个浏览器核心做了大量的精简,不像Electron和NW.js动辄上百兆的体积,它只要6M左右就够了。...用的人越来越少,维护的投入也不如Electron大,再加上Chromium更新非常频繁,导致NW.js的有些API也不是很稳,恶性循环加剧。...Electron https://www.electronjs.org/ Electron的作者曾经在NW.js团队工作过(NW.js项目贡献第二多的人就是Electron的作者), 后来辗转到了github...Electron每创建一个窗口都会多一个进程,这使Electron创建窗口的效率不高(秒级), NW.js有复用进程的机制,即使新窗口加载完全不同域的页面也不会创建新的进程(毫秒级)。...这也是为什么很多基于Electron开发的应用都使用Dom模拟弹窗的原因。 无论是浏览器相关的API,还是系统级API,Electron提供的都比NW.js多。

    7K31

    快速了解Electron:新一代基于Web的跨平台桌面技术

    从概念上,Electron与nw.js很相似,但是他们有很重要的区别:一个主要的不同点是Electron 通过 Googles Chromium Content Module 来使用 Chromium...的功能,nw.js 则直接使用了 Chromium本身。...,这个框架作者还为一本中文译名叫《跨平台桌面应用开发:基于Electron与NW.js》的书写了序(见下图)。...这些综合起来回答这个小节的问题就是,用 Electron 开发客户端,用户体验好,开发麻烦小,功能更强大,老板脱发少。 4)那在 Electron 和 NW.js 之间,为啥选择前者?...的关系(上篇)》 《WebSocket详解(五):刨根问底HTTP与WebSocket的关系(下篇)》 《WebSocket详解(六):刨根问底WebSocket与Socket的关系》 《理论联系实际:

    4.5K41

    electron 构建跨平台桌面应用

    昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向...NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流和分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统...主进程与渲染进程的关系如下图所示,它们之间通过 IPC 模块进行消息交互,关于 IPC 模块的使用,下面会提到。 ? 功能模块 这个部分将介绍 Electron 里面常用到的几个功能模块。...IPC 上面提到,Electron 中包含了主进程和渲染进程,事实上主进程就是一个后台进程,掌控着渲染进程的创建与销毁动作,且官方提供的绝大部分模块也只能在该进程中调用。...其他 当然 Electron 中还有许多实用的模块,如作为桌面应用必不可少的 Menu 和 Tray 模块、拥有调用当前操作系统功能的 Shell 模块、NW.js 中不具备的自动更新功能 - autoUpdater

    3.7K110

    跳转与导航 | Electron 安全

    对于网站来说,导航是帮助用户到达用户想去的地方(网址) 在 Electron 中也是一样,凡是离开当前地址的操作都可以算作是跳转和导航,最常见的是点击了某个链接,之后我们进入到链接中,点击了某个功能,进入到该功能模块中...searchParams: URLSearchParams {}, hash: '' } 其中 origin 就是我们所谓的同源策略里的源,它包含协议、主机名、端口号 所以官方的防御代码就是验证是不是与...点击按钮 创建一个 iframe 并没有引起主进程的跳转和导航事件,我们修改代码,测试一下按按钮修改 iframe 的 src 属性 点击按钮 看来 iframe 的src 修改不会触发主进程的跳转与导航事件...这意味着可以在大多数情况下像字符串一样处理 location——location = 'http://www.example.com'——与 location.href = 'http://www.example.com...pwd=kc4x Github https://github.com/Just-Hack-For-Fun/Electron-Security

    32810

    基于Node.js开发跨平台窗口程序

    Electron是Github伴随着Atom项目推出的开源跨平台桌面程序的开发工具,在Electron中可以使用纯JavaScript来调用丰富的原生APIs,Electron基于Node和Chromium...实际上,Electron并不是唯一一个以Web前端语言开发桌面程序的框架,在此之前就已经有NW.js,它和Electron相似,都是利用web前端语言开发桌面程序,并且具有非常好的跨平台性,但是现在Electron...的使用热度已经远远地超过了NW.js,呈现后来者居上的态势.许多著名的项目都是由Electron开发完成,比如Microsoft官方发布的VSCode以及Github官方推出的Atom编辑器等都是基于Electron...如下便是使用Electron开发的人工智能课程产生式实验的软件界面....Electron Github Repository: https://github.com/electron Thank You 如果您发现文章中有错误或表述不严谨的地方,请发邮件到以下邮箱。

    4.4K50

    前端之变(四):进击的前端

    桌面开发 -- NW.js与Electron 如我前面所讲,只要在有原生开发的地方,就会有跨平台开发的技术出现。 同样的现象也出现在桌面开发。...因此,跨平台桌面开发技术--NW.js与Electron就出现了。 这一次,前端技术向桌面开发发起了进攻的号角。...而前端人员与移动端原生技术存在明显错位与无力。 它在性能上与真正的原生始终存在差距,就像一道无法越过的鸿沟。当App需要考虑体验与性能时,React Native的这个缺点就会被放大很多倍。...React Native的现状用一句话来形容就是:前行艰难,后有追兵 NW.js 与 Electron -- 性价比高的解决方案 NW.js与Electron相对而言,处境就好很多了。...image-20210605101612084 我在20年做的PCX,就是基于Electron的解决方案,我甚至为它编译了一些国产Linux系统的版本,特别是龙芯CPU上的一个版本,令我印象深刻。

    1.9K11

    Electron是什么以及可以做什么

    桌面 GUI 应用也不例外,近几年两个重量级框架 NW.js和 Electron横空出世,给前端开发人员打开了这个领域的大门。...这两个框架都与中国人有极深的渊源,2011 年左右,中国英特尔开源技术中心的王文睿(Roger Wang)希望能用 Node.js 来操作 WebKit,而创建了 node-webkit 项目,这就是 NW.js...Electron 的价值 Electron 和 NW.js 框架都是基于 Chromium 和 Node.js 实现的,这就使得前端程序员可以使用 JavaScript、HTML 和 CSS 知识轻松构建跨平台的桌面应用...执行效率上,如果前端代码写的足够优秀,完全可以做到与 C++应用相媲美的用户体验,Visual Studio Code 就是先例。...窗口内加载的页面就是开发者要实现的渲染进程的逻辑,我们可以让渲染进程与主进程通信,他们之间是通过 IPC 消息管道进行通信的。

    3.2K30

    Electron升级构建适配M1芯片Mac指南

    写在开头 由于最新的Electron已经支持了M1芯片,arm架构下的Mac 在开发桌面软件时候不可避免的需要打包自测,那么在M1芯片上的Mac打包适配自己的软件也是应该的 那么现在制作Electron...,其实大部分软件升级适配成本不高,桌面软件开发者们赶紧升级吧 背景 Electron不支持xp系统,只要node.js升级后基本上它就会发布升级版本(如果你要兼容xp系统请使用nw.js等) 目前node.js...最新版本15.x已经适配了arm架构下的Mac,electron11.0.0版本也已经支持在arm架构下的Mac运行了,我需要在自己电脑上自测自己开发的软件兼容性,所以这次需要升级Electron版本和各种插件等...开始 首先升级Electron到11.0.0版本 yarn add electron@11.0.0 --save 升级electron-builder到22.9.1版本以上 yarn add electron-builder...反正各种奇奇怪怪的错误,后面我发现是我配置有点问题,最终在这里找到了 https://github.com/electron-userland/electron-builder/issues/5392

    3.1K20

    Electron 安全与你我息息相关

    渲染进程 每个 Electron 应用都会为每个打开的 BrowserWindow ( 与每个网页嵌入 ) 生成一个单独的渲染器进程。 洽如其名,渲染器负责渲染 网页内容。...预加载脚本 主进程可以与操作系统交互,渲染进程只能渲染网页,那么当功能需要操作系统支持的时候,渲染进程如何将需求传递给主进程,主进程如何将结果传递给渲染进程就是个问题,Electron 设计了一系列的...8.0.0-beta.0 Electron <=8.5.1 Electron <= 8 这个漏洞是官方公布的,只有大概的描述,并没有细节,通过描述来看与 CVE-2020-15174是一件事...,建议尽可能在隔离环境运行,或者与开发者交流,交流一下意见 Electron 目前除了 fuse,其他的已经基本遵循默认即安全的原则了,所以对于正确配置了安全策略的程序,如果不是用了老旧的 Electron...导航 Electron 中定义了两个事件与这件事相关 new-window will-navigate 这两个事件能够有效防止攻击至少要满足两个条件 导航不会被绕过 这点主要看 Electron 版本,

    1.8K10

    跨平台桌面开发,Electron还是WebView2 (中篇)

    在这篇文章中,我暂时会放下Electron与WebView2的一个对比,而聊一聊跨平台这个对于程序员群体来说不陌生的词。...这也是Electron及早期的NW.js能迅速发展起来并得到非常广应用的原因所在。...二)痛点是什么 无论是哪一端,跨平台技术之所以频繁出现与不断发展,其根本原因就在于编程的一个重要痛点在于: 为了让同一个服务能在所有设备上运行,程序员不得不编写与维护非常多不同版本的程序 每一个程序或软件后面的服务...而Electron或WebView2这样的技术,之所以受到极大的关注与使用,一个重要的原因也在于Chrome内核的性能是不断提升的,今天的浏览器的性能及JS解析运行能力已远远优于过去。...Electron是先行者(当然,严格说来,NW.js出现的更早,但今天它的流行度已远远落后于Electron了),而WebView2则是后来者。 那做为后来者的WebView2究竟做了哪些改进?

    3.1K20
    领券