Electron 4 和 5 发布,增加安全性和现代 Web API

近期,Electron团队发布了Electron 4Electron 5。为了与Chromium、V8和Node.js最新更新保持同步,Electron一直保持积极的发布周期。在新发布的两个版本中,最值得关注的更新包括对remote和request更好的控制,以及为使用promise而更新的Electron回调API,后者是一项正在推进中的工作。

Electron为使用Node.js、Chrome和其他现代Web开发API构建桌面应用程序提供了一种快速稳定的平台。Electron 4更新了主依赖关系,使用了Chromium 73.0.3683.119、Node.js 12.0.0和V8 7.3.492.27。

大量的Electron API都是先于ECMAScript的标准化promise出现。Electron正在推进将基于回调的Electron API转换为使用promise的工作,目前进展良好。该工作涉及大量Electron特性,包括追踪、cookie。

为向开发人员提供更多应用安全性方面的控制,Electron 4针对BrowserWindow和webview标签增加了禁用远程模块的功能,即通过renderer进程访问主进程模块的机制。

针对应用程序不希望完全禁用远程模块但又希望对使用remote.require获取模块进行控制的场景,Electron 4增加了对remote.require()/remote.getGlobal()请求的过滤功能。

上述远程过滤控制在Electron 5得到了进一步扩展。Electron 5通过引入新的远程事件,支持过滤remote.getBuiltin、remote.getCurrentWindow、remote.getCurrentWebContents和.getWebContents。

Electron 4的WebContents实例提供了一个新方法setBackgroundThrottling(allowed),用于在页面移动到后台时启用或禁用对定时器和动画的throttling。

Electron 5提供了一个新函数process.getProcessMemoryInfo,用于获取当前进程相关的内存使用情况统计信息。 此外,BrowserWindow支持在单个BrowserWindow中管理多个BrowserViews。

Electron 4和5中的重大变更和错误修复的完整列表分别列出在这两个版本的发行说明中:

此外,因为更新了Chromium、V8和Node.js依赖项,Electron也具备了当前很多JavaScript和Web标准的改进特性。值得关注的改进可以在相关的发行说明中找到:

正在开发当中的Electron 6将给出大量的改进,具体进展情况可通过Electron发摘要查看。Electron这一强大平台将在当前和未来版本中进一步改进,为使用Web技术构建桌面应用提供支持。

Electron还给出了应用反馈计划,支持开发人员在测试版发布周期中提供早期的反馈。Electron团队感谢Atlassian、Atom、Microsoft Teams、Oculus、OpenFin、Slack、Symphony和VS Code等成员为3.0版本提供帮助。

Electron基于MIT开源许可。欢迎贡献者在遵循Electron的贡献指南行为准则的条件下通过Electron的GitHub做出贡献。

查看英文原文: Electron 4 and 5 Releases Add Security and Modern Web APIs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章