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

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

在这里贴一下nw的官网首页下载截图) image image Github上nw.js有两万多Star接近3000的Fork,说明它已经相当成熟。...Nw与Electron的对比 nw.js无论从表面还是本质都更接近 Node.js,nw.js直接继承使用了node.js的启动、开发、运行方式,对node.js的修改最小,而 electron...nw.jsnode.js一样是单进程的,electron改成了双进程,技术实现改变。 electron的优点:开源的核心扩展比较容易,界面定制性强,原则上只要是Web能做的他都能做。...(很显然,即便是一个空包,也至少包含了一个浏览器的体积 NW.js对库的整合更深,某种意义上说,对chromiumNode有更深入的理解(新功能要用,必须把源码拿来build进去)。...从license上来看,Electron是Github的,NW.js则是Intel。 nw 在mac上只能构建mac的应用 ,windows下只能构建windows的。

2.6K40

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

electron Electron 是由 GitHub 开发的跨平台桌面应用框架,它使用 HTML、CSS JavaScript 技术栈,并基于 Chromium Node.js。...可扩展性:Electron 提供了丰富的 API 插件系统,使开发者能够轻松地扩展应用程序的功能。...内存占用较高:Electron 应用程序通常会占用较多的内存,这可能会影响应用程序的性能资源消耗。...nw.js NW.js(以前称为Node-Webkit)是一个基于ChromiumNode.js的框架,用于构建跨平台的桌面应用程序。...然而,NW.js也存在一些挑战,包括: 性能相对其他框架较低:由于NW.js同时运行ChromiumNode.js,可能导致一些性能方面的挑战,例如初始启动时间较长内存占用较高。

25710
您找到你想要的搜索结果了吗?
是的
没有找到

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

Electron vs. NW.js Electron与另一个名为NW.js(以前称为node-webkit)的项目类似。这两者有很多共同之处。...表1.1 ElectronNW.js之间的主要区别的比较 Electron NW.js 平台 支持官方最新的Chromium版本 Chromium分支版本 进程模型 分离进程模型 共享Node进程...我们称之为渲染进程 如果需要考虑向后兼容性,那么NW.js可能是更好的选择,因为它支持Windows XPVista。电子只支持Windows 7及以后。...对于多媒体应用,Electron通常是更好的选择,因为Chromium的FFmpeg库是一个静态链接的依赖项,Electron支持更多开箱即用的依赖,用NW.js,您需要手动链接FFmpeg依赖项。...ElectronNW.js的不同之处在于,它使用的是Chromium官方支持的内容模块。而NW,使用定制的Chromium。

3.5K30

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

说到 node.js 的 GUI 开发方案,首先想到的就是 electron nw.js。但除了它们之外,是否存在其它更轻量级的技术方案可供选择呢?...在这个基础上,再加上个方便操作的 GUI 就好了,于是首先想到的方案自然就是 electron 或者 nw.js。...但打包了 Chromium 内核 node.js 环境后,如今的 electron nw.js 动不动就上百MB的大小,用来开发这样的小工具实在是不划算。...而且在自己另一台破电脑上,electron 启动时间动不动就是十几秒,操作响应也不是很灵敏,达不到小而快的目标效果。 除了它们之外,是否还有其它的 node.js GUI 开发方案呢?...看起来具体实现基本就是把 react-native、electron 等方案整个打包,再增加了对 Win10 的 UWP 支持,是个大而全而非小而轻的方案?

4.3K20

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

Electron是Github伴随着Atom项目推出的开源跨平台桌面程序的开发工具,在Electron中可以使用纯JavaScript来调用丰富的原生APIs,Electron基于NodeChromium...实际上,Electron并不是唯一一个以Web前端语言开发桌面程序的框架,在此之前就已经有NW.js,它Electron相似,都是利用web前端语言开发桌面程序,并且具有非常好的跨平台性,但是现在Electron...的使用热度已经远远地超过了NW.js,呈现后来者居上的态势.许多著名的项目都是由Electron开发完成,比如Microsoft官方发布的VSCode以及Github官方推出的Atom编辑器等都是基于Electron...通过Electron,我们可以采用前端语言(HTML+CSS+JavaScript)来开发桌面程序的GUI组件( 如上图所示 ), 使用前端语言开发窗口程序比QTJava的Swing更加简便灵活....而且调试可以直接借助Chrome的开发者工具,非常得直观方便. 如下便是使用Electron开发的人工智能课程产生式实验的软件界面.

4.2K50

桌面软件开发框架大赏

它内部封了一个浏览器核心,但对这个浏览器核心做了大量的精简,不像ElectronNW.js动辄上百兆的体积,它只要6M左右就够了。...除了ChromiumNode的能力外,NW.js自己也封装了一些系统级API,类似托盘图标、剪切板、系统菜单这种,但数量明显比Electron要少。...不像Electron要时刻想着进程间通信,哪些模块当前进程不能用这类问题。 NW.js虽然起步早,但奈何没有杀手级应用,周边的生态工具链没发展起来。...Electron https://www.electronjs.org/ Electron的作者曾经在NW.js团队工作过(NW.js项目贡献第二多的人就是Electron的作者), 后来辗转到了github...这也是为什么很多基于Electron开发的应用都使用Dom模拟弹窗的原因。 无论是浏览器相关的API,还是系统级API,Electron提供的都比NW.js多。

6.7K30

electron 构建跨平台桌面应用

昨日(2016.09.13)本文发表后,获得了一定的阅读转发量,但经部分网友反馈仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向...NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统...Electron 程序启动时,会产生两条进程,分别是主进程渲染进程,main.js 脚本执行的环境就是主进程,负责管理维护着渲染进程的生命周期,拥有绝大部分 node模块 的调用能力;而在 main.js...其他 当然 Electron 中还有许多实用的模块,如作为桌面应用必不可少的 Menu Tray 模块、拥有调用当前操作系统功能的 Shell 模块、NW.js 中不具备的自动更新功能 - autoUpdater...打包构建 Electron 打包的方式有很多种,常见的有 electron-builder、electron-packager asar几种,在这里我使用的是 electron-packager 作为应用的打包工具

3.4K110

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

2.5K20

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 知识轻松构建跨平台的桌面应用...Electron 可以使用几乎所有的 Web 前端生态领域及 Node.js 生态领域的组件技术方案。...第三:安全性问题 Electron 把一些有安全隐患的模块 API 都设置为默认不可用的状态,但这些模块 API 都是非常常用的,有的时候开发者不得不打开这些开关,一旦处理不当,就可能导致他们开发的应用存在安全隐患

2.8K30

学透 Electron 自定义菜单

导语:近几年,随着 Electron/ NW.js 等技术的兴起,也催生了一批优秀的桌面端开发者工具,比如 VSCode、微信开发者工具、飞冰(ICE) 等等。...对于开发者而言,桌面端开发者工具的优势是:可视化能力、操作系统层面的 API 访问、良好的开发调试体验。因此,最近准备系统性的深入学习下 Electron 技术并且将学习的知识进行适当沉淀。...菜单介绍 Electron 里的菜单大体上分为三类:应用菜单、上下文菜单 Dock 菜单(仅针对 OSX 系统)。...这里以微信开发者工具为例(微信开发者工具基于 NW.js 进行开发,主要出于 Windows XP兼容性考虑),来分别介绍这几种菜单的含义。...后面的文章会涉及到对话框、 IPC 通信、Electron 应用的测试、打包、发布自动更新等内容。

2.2K50

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

这也是Electron及早期的NW.js能迅速发展起来并得到非常广应用的原因所在。...这个问题在跨平台桌面开发中也是类似,跨平台桌面开发技术也不是Electron最开始出现,比如著名的QT很早就有了,但比起Electron这种使用前端编程技术来说,显然在编程语言的门槛上程序员群体上都存在困难...,这也是Electron能后来居上的原因所在。...虽然不可能原生程序相比,但对于一些性能要求并不是非常高,而对于跨平台有较高要求的程序来说,选择牺牲一点性能,来达到跨平台的目的,不失为上策。...Electron是先行者(当然,严格说来,NW.js出现的更早,但今天它的流行度已远远落后于Electron了),而WebView2则是后来者。 那做为后来者的WebView2究竟做了哪些改进?

2K20

nw.js如何处理拖放操作

nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了。...nw.js会按照chrome浏览器默认处理文件的方式来处理拖放的文件,能显示的会直接显示,不能显示的会变成资源下载。 这肯定不是桌面应用想要的效果,那么Html5是如何处理拖放的呢?...1.1 如何禁用拖放操作 在Html元素上,我们可以通过ondragoverondrop两个事件来处理文件拖放,那么阻止其他事件行为的方法一样,我们只需要进行监听并阻止冒泡就可以了。...这里面涉及到的知识点,一个是获取文件的信息,主要是路径;第二是的文件的读取、保存进一步处理。

2.9K50

使用 Electron React 构建桌面应用

所以说,从思想使用上说,React应该是一个非常成熟的框架。...但是随着 Node.js 构建工具的出现,人们开始想,那么多请求都要交由后端来做岂不是很麻烦,而且从某种意义上,Web 网站本身就是一个应用,其中的地址变化处理的逻辑应该在应用内部解决,只有涉及到后端需求的...前端路由往往与构建工具、前端界面框架相互配合,构建工具负责将所有文件打包,而前端界面框架往往自己带有自己的前端路由框架,最后打包出来的输出文件,一般只有一个 inedx.html、一个 bunble.js 其他的资源文件...我这里使用的是全局安装 Electron,原因是因为 Electron 包比较大,而且运行 Electron 这一操作是可复用的,所以我认为全局安装 Electron 更加合适,这里只需要安装一次 Electron...这时候你可以使用: yarn start 打开调试服务器,在弹出的网页中你可以直接看到 React 的欢迎页面,这些就是 public src 目录下的文件所做的努力。

2.9K20
领券