2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:437905

评论

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

人生需要做减法:少即是多

我心依然

程序员 人生 减法 少即是多 less is more

在 TypeScript 处理空值异常

寇云

typescript 大前端

关于 DeepL 机器翻译能力

梁帅

产品 互联网 机器翻译 谷歌Google DeepL

写文章的目的是什么?

小天同学

思考 写作 感悟 表达

系统的安全性设计

Janenesome

读书笔记 程序员 架构 安全

深入理解Java中的Lambda表达式和函数式编程的关系

jerry

Lambda java8 函数编程

Ubuntu 20.04 装机手册

小柒

Linux #Ubuntu #geek

Java并发编程基础--Synchronized

Java收录阁

线程

道德和正确的认知

沈传宁

信息安全 计算机道德

[MySQL-InnoDB] Buffer pool 并发控制

ba0tiao

MySQL 数据库 innodb

一杯茶的时间,上手 Docker

图雀社区

node.js react.js Docker

性能优化第一课:性能指标

kimmking

性能优化

我为什么不买Mac

Winann

效率 效率工具 Mac apple

测试驱动开发英制单位转换

escray

学习 CSD 认证实战营

一个英语渣的自救手册

寇云

学习 程序员 效率工具 工作效率

JAVA小抄-001-Retrofit初级使用

NoNoGirl

retrofit okhttp

创新真的可遇不可求么?

Yanel 说敏捷产品

产品经理 产品设计 产品开发 产品推荐

jenkins集成maven获取远程项目

kcnf

Redis学习笔记(散列类型)

编程随想曲

redis

回"疫"录(9):守住我们自己的净土

小天同学

疫情 回忆录 现实纪录 纪实

不安全的“安全密码”

沈传宁

信息安全 口令安全

去中心化网络,不止区块链(一)

石君

区块链 去中心 去中心化网络 DHT

谨防常见的一些数据误区

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

iTerm2使用小技巧-密码管理器

小菜与老鸟

iTerm

DIY 可用性测试

Yanel 说敏捷产品

产品 产品经理 产品设计 测试 产品推荐

《通往财富自由之路》——day1

轩呀

得到

吾谈教育

ItsFitz

最好的汇报是不需要汇报

伯薇

团队管理 领导力 沟通 汇报 可视化

权限系统设计的一种解法

kos

产品 总结 产品设计

Panzoid:一款超好用的片头制作工具

千锤百炼锅

学习 产品 效率工具 工具 产品推荐

牛排等级之美国篇

地藏@易果18916037281

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