开源1个月的Gluon凭啥与ElectronTauriNeutralinojs叫板?
大家好,很高兴又见面了,我是" 前端进阶 ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
Gluon:使用系统安装的浏览器和 NodeJS 从网站创建桌面应用程序的新框架1.什么是Gluon?
Gluon 是一个新的框架,用于从网站创建桌面应用程序,使用系统内置的浏览器(不是 webviews)和 NodeJS,与其他现有的活跃项目有很大不同 ,Gluon开放创新并具有一些主要优势。 Gluon 不使用其他类似框架打包浏览器(如 Chromium)或使用 webview(如 Windows 上的 Edge Webview2),而是使用系统安装的浏览器,如 Chrome、Edge、Firefox 等。
Gluon 支持基于 Chromium 和 Firefox 的浏览器作为前端,而 Gluon 的后端使用 NodeJS 是通用且易于开发的(也允许通过使用相同的堆栈从其他流行的框架(如 Electron)轻松学习)。2.Gluon有什么优势?
Gluon有什么优势?系统安装的浏览器:允许用户选择支持大多数基于 Chromium 和 Firefox 的浏览器,没有 webviews打包代码小:<1MB 使用系统节点,<10MB 时打包它浏览器引擎:Chromium 和 Firefox 支持作为浏览器引擎,不同于任何其他活动框架小且易于使用:Gluon 有一个简单而强大的 API 来开发带有 Node 后端的应用程序支持 Deno(实验性的):Deno 也作为一个选项(开发者选择)来替代后端的 NodeJS快速构建: Gluon 在大多数机器上的小型项目构建时间不到 1 秒积极开发并听取反馈 : 每周都会有新的更新,如果社区喜欢(例如 Firefox 支持!),可以快速添加计划外的功能跨平台 : Gluon 适用于 Windows、Linux 和 macOS (WIP)
Gluon使用火狐或者Chrome3.Gluon项目现状
Gluon 项目开源还不到一个月,因此仍处于早期和实验状态。 但它已经显示出巨大潜力!下面是Gluon项目目前的一些状态。
Gluon项目现状Gluon项目现状4.Gluon与不同项目对比4.1 内置能力对比
Gluon vs Electron vs Tauri vs Neutralinojs内置能力对比4.2 性能对比
基本(纯 HTML)Hello World 演示,在机上最新的 Windows 10 上测试结果。 使用截至 2022 年 12 月 9 日所有框架的最新稳定版本。测试结果如下:
Gluon vs Electron vs Tauri vs Neutralinojs性能对比
从上图可以看出,Gluon与Tauri、Electron 、 Neutralinojs相比,在打包时间、包大小、内存使用、打包时间上等诸多维度都具有明显的优势。5.Gluon典型用例5.1 新开窗口
在 Gluon 中打开一个窗口就像一个函数调用一样简单,同时还提供了诸多选项可用,例如窗口大小或加载额外代码。import * as Gluon from "@gluon-framework/gluon"; const Window = await Gluon.open("https://gluonjs.org");5.2 IPC进程通讯
IPC(进程间通信)允许您在后端和网站前端之间进行通信。
Gluon 有一个简单但功能强大的异步 IPC API,它在 Node 和公开的 Gluon Web API 中也几乎相同,以允许更容易和更快的开发。
它还具有多个通用的子 API 来完成常见的事情,包括包装基本 API,因此大多数开发人员不需要使用不必要的复杂的基于事件的系统:// Node后端 import * as Gluon from "@gluon-framework/gluon"; const Window = await Gluon.open("https://gluonjs.org"); Window.ipc.store.config = { env: "production" }; import { writeFile } from "fs/promises"; let log = ""; Window.ipc.log = msg => { // 打印日志到磁盘 log += msg; writeFile("app.log", log); // 写入日志到文件 };5.3 Idle API
Idle API 是 Gluon 的一项独特功能,允许休眠"Gluon 窗口以节省系统资源。
休眠时会完全杀死浏览器(使用约 30MB 的内存),而休眠使用页面的屏幕截图作为占位符(使用约 60MB 的内存)。
您可以使用 API 手动休眠、睡眠和唤醒,或者使用自动空闲管理,它会在选定的时间段内最小化窗口时休眠,并在它再次聚焦时将其自动唤醒。// Node后端 import * as Gluon from "@gluon-framework/gluon"; const Window = await Gluon.open("https://example.com"); const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); await sleep(5000); // 等待窗口完全加载 Window.idle.hibernate(); // 休眠窗口 await sleep(5000); Window.idle.wake(); // 唤醒窗口 await sleep(5000); Window.idle.sleep(); // 休眠窗口 await sleep(5000); Window.idle.wake(); // 唤醒窗口6.本文总结
本文主要和大家探讨下一个全新的桌面开发框架Gluon的现状,并与 Electron 、Tauri 、 Neutralinojs等诸多前辈进行对比。当然,有些人可能对Electron 、Tauri 、 Neutralinojs等有诸多执念,那就当一次看客,知道有这么个框架好了。文末的参考资料提供了大量优秀文档以供学习,如果有兴趣的读者可以自行阅读。
参考资料
https://github.com/gluon-framework/gluon
https://gluonjs.org/
肺癌来临并非不声不响,提醒双腿出现2种异常,可能是肺癌到来刘先生今年45岁,他平常比较注重养生,也没有抽烟的习惯。一年前,刘先生双腿关节疼痛不已,以为是风湿病,可是在当地医院治疗了几个月都不见好转。而长时间持续性的双腿疼痛僵硬,严重影响了
发现最美你评我论福建宁德龙潭村文创兴村残垣断壁中抢救回来的传统村落中国网2月20日讯(记者吴佳潼)青石板路,小桥流水,水车轮悠悠转动,熙攘的游客们忙着拍照留念,村尾的古老廊桥,守望着古村的潺潺流水。这里便是隐藏在福建省宁德市南屏县熙岭乡青山绿水间
锡安归期未定鹈鹕将面临哪些考验?去年12月30日,新奥尔良鹈鹕以23胜12负的战绩并列西部第一。仅仅过了一个半月,他们以30胜29负的战绩位居西部第七。鹈鹕究竟发生了什么?最主要的两大原因就是受伤的锡安威廉姆森和
宁愿对不起梅西,也要向姆巴佩低头,内马尔别无选择内马尔现在显然已经成为大巴黎的心病,虽然内马尔在去年夏天就被大巴黎摆上货架,但是最终还是没有球队愿意领走他,转会无疾而终。而本赛季随着内马尔因为伤病影响,状态不断下滑,而且在队内和
真全面屏!努比亚Z50新机快来了去年年底,努比亚发布了搭载骁龙8Gen2的新旗舰努比亚Z50,前几天手机普及风暴的时候,努比亚把Z50价格打到了最低2699元,是如今最实惠的骁龙8Gen2机型!随后中兴通讯终端事
山西男篮将重回主场作战你有多久没在主场听到熟悉的闹他?告别三年的赛会制,山西球迷终于可以在家门口迎来熟悉的面孔和激动人心的比赛了!20222023赛季CBA联赛常规赛第三阶段即将开赛并恢复主客场制,山西
辽河口北国海滨,绿苇红滩来源人民日报辽河口保护区,丹顶鹤在红海滩上觅食。刘宪国摄(影像中国)辽河口湿地,红色的盐地碱蓬与绿色植被交织形成美丽的景色。宗树兴摄(人民视觉)辽宁盘锦市红海滩国家风景廊道景区内的
我们的日子不简单,东方玉树就是个斯文败类,看录像带毁所有摘要我们的日子不简单,东方玉树就是个斯文败类,看录像带毁所有。文萌妹闹太套要说年代剧的精彩程度,除了人世间,当属我们的日子。剧中的王宪平性格执拗一根筋,典型的大男子主义,杨大山坏在
天空留给大地最美的文案!来兴凯湖看雾凇吧!视频加载中初春时节,兴凯湖畔的万顷原生态湿地冰雪挂满枝梢,漫山遍野开满了雾凇冰花,整个大地变成了一个仙境般的琉璃世界,银光闪烁景色宜人令人心驰神往。雾凇又被称为树挂冰花琼花雪柳,是
从六下江南看乾隆的败家老冯把乾隆称为史上第一败家子有人觉得言过其实,但是今天我们从他六次下江南来看这个昏君到底有多么败家。自乾隆十六年,到乾隆四十九年,乾隆皇帝曾经六次南巡,所到之处,奢靡成风,地方官员
秦朝之前的洋河溯源在上一篇文章白洋河的由来中提到中国名镇洋河,因河而名。黄河夺泗入淮后,形成了大大小小的湖泊水荡,这些湖泊在宿迁以南汇流成河,望之若洋,这就是白洋河。康熙版桃源县志记载白洋河在县城西