其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

Electron v28.0.0 发布,跨平台桌面应用开发工具

GG网络技术分享 2025-03-18 16:16 0


Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。

Electronv28.0.0更新内容如下:

Stack Upgrades

Breaking Changes

  • BrowserWindow.setTrafficLightPosition()和BrowserWindow.getTrafficLightPosition()方法已被删除。#39479

  • app.runningUnderRosettaTranslation()方法已被删除。#39956

  • ipcRenderer.sendTo()方法已被删除。#39087

  • scroll-touch-{begin,end,edge}事件已被删除。#39814

  • 将backgroundThrottling设置为 false 将禁用BrowserWindow对其显示的所有WebContents的 frames throttling。#38924

Features

Additions

  • 启用 ESM 支持。#37535

    • 有关更多详细信息,参阅ESM 文档。

  • UtilityProcessAPI 现在支持 ESM entrypoints。#40047

  • 向display对象添加了多个属性,包括detected、maximumCursorSize和nativeOrigin。#40554

  • 添加了对 Linux 上环境变量ELECTRON_OZONE_PLATFORM_HINT的支持。#39792

除了在 Electron 本身中启用 ESM 支持之外,Electron Forge 还支持使用 ESM 来打包、构建和开发 Electron 应用程序。可以在 Forge v7.0.0 或更高版本中找到此支持:https://github.com/electron/forge/releases/tag/v7.0.0

  • 添加了 API 以帮助应用程序知道何时避免半透明背景。#39631

  • 添加了getWebRTCUDPPortRange好setWebRTCUDPPortRangeAPI 来指定 WebRTC 的 UDP 端口范围。#39046

  • 添加keyboardLock到ses.setPermissionRequestHandler(handler)。#40460

  • 为 Windows 添加了mouse-enter和mouse-leaveTray 事件。#40072

  • 为webContents.printToPDF()添加了generateTaggedPDF选项,以便生成带 tag(可访问)的 PDF。#39563

  • 添加了一个tabbingIdentifier属性到BrowserWindow。#39980

  • 向 tray icon 添加了 middle click mouse event。#39926

  • 向display对象添加了多个属性,包括detected、maximumCursorSize和nativeOrigin。#40554

  • 添加了对 Linux 上环境变量ELECTRON_OZONE_PLATFORM_HINT的支持。#39792

  • 添加了对chrome.scripting扩展 API 的支持。#39395

  • 添加了对更多扩展清单键的支持,包括host_permissions、author和short_name。#39599

  • 添加了使用webContents.downloadURL()发送 HTTPheaders的功能。#39455

  • 修改systemPreferences.getColor(name)返回 RGBA 十六进制值 (#RRGGBBAA) 而非 plain RGB (#RRGGBB) 值。#38960

  • 在 Linux 上遵循 XDG 深色主题偏好设置。#38977

  • 通过传递dummymodule.exports提高了与沙盒预加载脚本中 CommonJS 模块的兼容性。#39484

改进

  • 改进 Linux 上child_processAPI 的fork()和execve()性能。#39253

  • 修复了 macOS 上调整大小的性能问题。#40586

  • 修复了 DWM 上的不透明窗口性能回归。#39895

  • 在 macOS 上重新启用分区分配。#40230

删除 / 弃用

  • app.runningUnderRosettaTranslation属性已被弃用。#39897

  • app上的gpu-process-crashed事件已被弃用。#40195

  • app上的renderer-process-crashed事件以及WebContents和<webview>上的崩溃事件已被弃用。#40089

Fixes

  • 修复了未引用时无法对MessagePorts进行垃圾回收的问题。#40201

  • 修复了应用程序在 macOS Sonoma 上无法正确激活面板窗口的问题。#40465

  • 修复了在 Linux 中传递给shell.showItemInFolder的文件路径不被转义的问题。#40562

  • 修复了在node_modules中加载嵌套的 ESM 依赖关系的问题。在 asar 文件中支持fs.statSync/fs.lstatSync中的throwIfNoEntry选项。#40224

  • 修复了 first party sets. 的same-party cookie 功能。#40526

  • 在 macOS 上使用activateIgnoringOtherApps来 focusing non-panels。#40621

通知

终止对 25.xy 的支持

根据项目的支持政策,Electron 25.xy 已结束支持。鼓励开发人员和应用程序升级到较新版本的 Electron。

标签: 已被 应用程序

提交需求或反馈

Demand feedback