普通视图

发现新文章,点击刷新页面。
昨天 — 2025年1月17日首页

Electron v34.0.0 发布:带来重大升级与大量修复

作者 前端徐徐
2025年1月17日 21:07

image.png

前言

近日,Electron v34.0.0 正式亮相,对应代码提交哈希为 c868963。此次更新涵盖多项关键改进,为开发者与用户带来全新体验。

核心组件升级

  1. Chromium 132.0.6834.83:Chromium 作为 Electron 渲染引擎的基石,此次升级带来诸多潜在优势。虽未详细披露 132 版本新特性,但通常意味着网页渲染性能提升、对新 Web 标准支持增强以及安全性加固。
  2. Node 20.18.1:Node 的更新为后端开发注入新活力。Node 20.18.1 带来性能优化与新特性,开发者可通过官方博客文章深入了解,以更好应用于项目。
  3. V8 13.2:V8 引擎升级显著提升 JavaScript 执行效率,使 Electron 应用在处理复杂脚本时更流畅,优化用户体验。

重大变化

Windows 系统下,全屏模式的菜单栏默认隐藏。这一调整旨在提供沉浸式全屏体验,避免菜单栏占用空间,让用户专注于应用内容。

功能新增

  1. 共享字典管理 API:为提升压缩效率,新增一系列 API,如 session.getSharedDictionaryUsageInfo ()、session.getSharedDictionaryInfo (options)、session.clearSharedDictionaryCache () 和 session.clearSharedDictionaryCacheForIsolationKey (options)。开发者可借此精细管理共享字典,优化资源利用。
  2. JavaScript 调用栈访问:WebFrameMain.collectJavaScriptCallStack () 助力开发者访问无响应渲染器的 JavaScript 调用栈,加速调试进程,快速定位问题代码。
  3. WebFrameMain 新属性与方法:新增 WebFrameMain.detached 属性标识卸载状态帧,WebFrameMain.isDestroyed () 方法判断帧是否销毁。同时修复 webFrameMain.fromId (processId, frameId) 在帧卸载时的返回匹配问题,确保 API 稳定。
  4. 实用程序进程 error 事件:该事件支持 V8 致命错误时生成诊断报告,帮助开发者迅速排查严重错误,增强应用稳定性。
  5. macOS 系统选择器支持:desktopCapturer 和 setDisplayMediaRequestHandler 增添对 macOS 系统选择器的支持,优化 macOS 系统下桌面捕获与媒体请求处理流程。
  6. GPU 加速共享纹理离屏渲染:此功能大幅提升渲染性能,尤其在处理复杂图形与动画场景时,确保视觉效果流畅。

性能改进与修复

  1. 性能优化:微任务处理性能提升,应用异步任务执行更高效,减少卡顿,提高响应速度。
  2. 问题修复:此次更新修复大量问题,涉及文件选择对话框、事件触发、窗口调整、菜单操作、扩展 API、启动跟踪、构建错误、崩溃、权限、渲染、工具提示及窗口控制等多方面。例如,解决 flaptak 应用文件选择对话框问题,避免操作不便;修复 macOS 上 'contextmenu' 事件触发两次的问题,确保事件处理准确。众多问题在之前版本已有部分修复,v34.0.0 实现更全面解决,极大提升应用稳定性与可靠性。

其他变更

  1. 修复回溯:对特定问题进行修复回溯,防止旧问题在新版本复现。
  2. DBus 通知设置:在 DBus 创建桌面通知时,确保设置 sender - id 提示,优化通知来源管理与识别。
  3. Wayland 文本输入修复:解决 wayland text - input - v3 中组合文本黄色背景问题,提升视觉体验。

结语

Electron v34.0.0 通过核心组件升级、新功能引入、大量问题修复与优化,为开发者提供强大稳定的开发平台,为用户带来流畅可靠的应用体验。开发者应及时升级,充分利用新特性提升应用品质与竞争力。

参考

github.com/electron/el…

❌
❌