春争日,夏争时,扫码抽取夏日礼包!!! 了解详情
写点什么

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

  • 2019 年 6 月 13 日
  • 本文字数:1259 字

    阅读完需:约 4 分钟

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


2019 年 6 月 13 日 08:0011121
用户头像

发布了 388 篇内容, 共 106.9 次阅读, 收获喜欢 245 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营作业1

zh

架构实战营 「架构实战营」

[架构实战营]-架构实训一

邹玉麒

「架构实战营」

架构实战营模块一作业

刘璐

微信业务架构图

Geek_36cc7c

微信架构简析和学生系统初步方案

Bear

「架构实战营」

Apache APISIX 2.12.0 版本发布,新功能更适配新一年!

Apache APISIX 中国社区

开源 后端

学生管理系统架构设计方案

Geek_36cc7c

模块六作业

novoer

「架构实战营」

TCP长连接实践与挑战

字节跳动终端技术

字节跳动 TCP 后端 HTTP 连接池

LabVIEW实现PCB电路板元器件匹配定位(实战篇—7)

不脱发的程序猿

计算机视觉 图像处理 LabVIEW PCB电路板元器件匹配定位

微信业务架构图 & 学生管理系统设计

tom

架构设计小试牛刀

Fingal

架构实战营

云厂商第一家,腾讯安全获国家级信息安全服务资质“双认证”!

腾讯安全云鼎实验室

云安全 安全服务

百度AICA再添57位“首席AI架构师”,人工智能与产业场景结合愈发深入

百度大脑

数据治理平台化的通用框架设计

Skipper

架构图 - 微信 & 学生管理系统

Ntropy

架构实战营

架构实战营-模块一作业

炎彬

「架构实战营」

模板

Anthony

实现一个任务调度系统,看这篇文章就够了

勇哥java实战分享

Elastic-job XXL-JOB 任务调度 自主研发

什么时候该减少质量投入?

QualityFocus

质量管理 软件测试 测试思维

架构训练营作业1

Richard

架构实战营

第一次作业

Mr小公熊

☕【Java深层系列】「并发编程系列」深入分析和研究MappedByteBuffer的实现原理和开发指南

浩宇天尚

Java 文件I/O MappedByteBuffer FileChannel 1月日更

LabVIEW仪表盘识别(实战篇—6)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 仪表盘识别

架构训练营模块一作业

苍狼

为什么 Cpython 是 C 写的,而不是 Python

宇宙之一粟

Python 1月月更

微信业务架构 & 学生管理系统毕设架构设计

Apple_7b0980

「架构实战营」

天津银行周传凯:从 0 到 1,我的分布式数据库落地经验谈

OceanBase 数据库

分布式 OceanBase 开源 OceanBase 社区版 客户实践

Electron 4 和 5 发布,增加安全性和现代 Web API_前端_Dylan Schiemann_InfoQ精选文章