NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Electron 6.0.0 发布了,带来 4 项重大改进!

  • 2019-07-31
  • 本文字数:1931 字

    阅读完需:约 6 分钟

Electron 6.0.0发布了,带来4项重大改进!

Electron 团队刚刚发布了 Electron 6.0.0。你可以通过 npm install electron@latest 安装或从发布网站下载。新版本包含许多升级、修复和一些新功能。

新内容

今天 Electron 项目第一次在发布 Electron 稳定版的同日发布对应的Chrome稳定版


Electron 的大部分功能都是由 Chromium、Node.js 和 V8 的核心组件提供的。Electron 与这些项目保持同步,为用户提供最新的 JavaScript 功能、性能改进和安全修复程序。这些包在 Electron 6 中都有主要版本更新:



此版本还包括对 Electron API 的改进。完整列表可参阅发行说明,下面挑一些亮点介绍:

Promise 支持

Electron 6.0 继续发展从 5.0 版开始的现代化改进,改善对 Promise 的支持。


这些函数现在返回 Promise 并仍然支持旧的基于回调的调用:


  • contentTracing.getCategories() #16583

  • contentTracing.getCategories() #16583

  • contentTracing.getTraceBufferUsage() #16600

  • contents.executeJavaScript() #17312

  • cookies.flushStore() #16464

  • cookies.get() #16464

  • cookies.remove() #16464

  • cookies.set() #16464

  • dialog.showCertificateTrustDialog() #17181

  • inAppPurchase.getProducts() #17355

  • inAppPurchase.purchaseProduct() #17355

  • netLog.stopLogging() #16862

  • session.clearAuthCache() #17259

  • session.clearCache() #17185

  • session.clearHostResolverCache() #17229

  • session.clearStorageData() #17249

  • session.getBlobData() #17303

  • session.getCacheSize() #17185

  • session.resolveProxy() #17222

  • session.setProxy() #17222

  • webContents.hasServiceWorker() #16535

  • webContents.printToPDF() #16795

  • webContents.savePage() #16742

  • webFrame.executeJavaScript() #17312

  • webFrame.executeJavaScriptInIsolatedWorld() #17312

  • webviewTag.executeJavaScript() #17312


这些函数现在有两种形式,同步和基于 Promise 的异步:


  • dialog.showMessageBox()/dialog.showMessageBoxSync() #17298

  • dialog.showOpenDialog()/dialog.showOpenDialogSync() #16973

  • dialog.showSaveDialog()/dialog.showSaveDialogSync() #17054


这些函数现在返回 Promise:


Electron Helper (Renderer).app、Electron Helper (GPU).app 和 Electron Helper (Plugin).app

为了启用强化运行时来限制可写可执行内存和加载由其他团队 ID 签名的代码等,需要向 Helper 授予特殊代码签名权利。


为了将这些权利限定在需要它们的流程类型上,Chromium 添加了三个新的Helper应用程序变体:一个用于渲染器(Electron Helper(Renderer).app),一个用于 GPU 进程(Electron Helper(GPU).app) ,还有一个用于插件(Electron Helper(Plugin).app)。


使用 electron-osx-sign 对其 Electron 应用签名(codesign)的开发者不应该对其构建逻辑进行任何更改。如果你使用自定义脚本对应用签名,则应确保三个新的 Helper 应用程序已正确签名。


为了使用这些新 helper 正确打包你的应用程序,你需要使用 electron-packager@14.0.4 或更高版本。如果你使用的是 electron-builder,则需参阅此处获取支持。

重大改进

  • 此版本还为今后的需求打下了基础,要求加载在渲染器进程内的原生 Node 模块要么是N-API,要么Context Aware。这一改进可带来更高的性能、更强的安全性和更少的维护工作量。详细信息参阅此处。此更改预计将在 Electron v11 中完成。

  • net.IncomingMessage 标头稍微改动,以更好地匹配Node.js行为,特别是 set-cookie 的值以及重复标头的处理方式。#17517

  • shell.showItemInFolder()现在返回 void 并且是异步调用。#17121

  • 应用程序现在必须在使用 app.getPath(‘log’)之前调用新函数 app.setAppsLogPath()来显式设置日志路径。#17841

3.x.y 支持终止

根据官方支持政策,3.x.y 的生命周期已达终点。官方鼓励开发人员和应用程序升级到更新版本的 Electron。

应用反馈计划

官方继续使用应用反馈计划进行测试。参与此计划的项目会在其应用上测试 Electron 测试版;作为回报,他们发现的新错误会在稳定版本中优先处理。如果你想参与或了解更多信息,请查看关于该计划的博客文章(https://electronjs.org/blog/app-feedback-program)。

未来计划

短期来看,官方团队会继续升级 Electron 的主要组件,包括 Chromium、Node 和 V8。团队计划大约每季度发布一次新版本,每次都会升级各大组件。7.0.0版本的暂定计划列出了 Electron 7 开发周期中的关键时点。还可参阅官方版本控制文档,获取有关 Electron 版本的更多信息。


关于未来的 Electron 版本中计划的重大变更,请参阅重大变更计划文档


英文原文:http://electronjs.org/blog/electron-6-0


2019-07-31 18:437373

评论

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

数据治理(十一):数据安全管理Ranger初步认识

Lansonli

数据治理 9月月更

调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去

Jerry Wang

JavaScript SAP SAP UI5 ui5 9月月更

mysql基本类型

急需上岸的小谢

9月月更

Linux系统安装Redis

Centos 7 redis 底层原理 9月月更

Qt|自定义Widget实现互斥效果问题

中国好公民st

qt QWidget 9月月更

SpringBoot源码 | prepareContext方法解析

六月的雨在InfoQ

springboot 源码阅读 9月月更 prepareContext

VUE 项目本地没有问题,部署到服务器上提示错误

HoneyMoose

JavaScript 基础知识

喜羊羊

9月月更

云数据库技术|“重磅升级”后再测TDSQL-C

数据库 polarDB 玖章算术 TDSQL-C

数据科学家、数据工程师和数据分析师三个角色的区别是什么

雨果

数据分析师 数据科学 数据工程师

计网复习二,网络应用

前端小刘不怕牛牛

计算机网络 HTTP 9月月更

[Go WebSocket] 多房间的聊天室(一)思考篇

HullQin

Go golang 后端 websocket 9月月更

2022-09-08:以下go语言代码输出什么?A:5 66;B:5 88;C:7 88;D:以上都不对。 package main func main() { var x = []int{4:

福大大架构师每日一题

golang 福大大 选择题

【JavaWeb】Servlet系列——使用纯Servlet做一个单表的CRUD操作

胖虎不秃头

Web java; 9月月更

JavaWeb -JavaBean MVC Filter 监听器 过滤器

喜羊羊

9月月更

转转商业化OCPC产品的护航之旅

转转技术团队

人工智能 计算广告 PID OCPC

C++学习------cmath头文件的源码学习01

桑榆

c++ 源码阅读 9月月更

ChaosBlade Java 场景性能优化,那些你不知道的事

Java快了!

java;

javaweb-JSP

喜羊羊

9月月更

Java 多线程:基础

Java快了!

java;

Zilliz 论文入选数据库顶会 VLDB'22

Zilliz

数据库 分布式 云原生 VLDB'22

讲究卡路里多少的美食出圈了!维小饭被评为“2022中国轻食十大品牌”

联营汇聚

【JavaWeb】Servlet系列——HttpServletRequest接口详解

胖虎不秃头

Web java; 9月月更

Sprint Review能不能做成Demo演示?

LigaAI

Scrum 敏捷开发 迭代增量开发 高效办公 企业号九月金秋榜

网络IO是如何一步一步走向零拷贝的

C++后台开发

cpu 零拷贝 C++后台开发 网络io C++开发

【C语言深度剖析】详解strlen与sizeof的区别及用法

Albert Edison

C语言 sizeof 9月月更 strlen

每日一R「23」回顾基本概念

Samson

学习笔记 ​Rust 9月月更

Java终极学习路线-共计9大模块/6大框架/13个中间件

小明Java问道之路

Java 架构 JVM 中间件 9月月更

库调多了,都忘了最基础的概念 <锁与线程篇1>

知识浅谈

线程 9月月更

融云 x KUPU:印尼蓝领用工的「直聘」样板

融云 RongCloud

互联网

nft系统开发

开源直播系统源码

区块链 NFT 数字藏品 数字藏品软件开发

Electron 6.0.0发布了,带来4项重大改进!_编程语言_Electron Blog_InfoQ精选文章