报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

评论

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

和鲸101领航北中医:助力健康医疗AI实验室建设,培养交叉数据人才

ModelWhale

人工智能 北中医 健康医学

软件测试学习笔记丨Python 基本数据类型

测试人

软件测试

还能报名!风靡硅谷开发者的Unstructured Data Meetup杭州站与您6月15日见面!

Zilliz

从游戏场景看,ByteHouse存算分离架构如何实现降本增效

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

从源码分析 vllm + Ray 的分布式推理流程

阿里技术

和鲸101加持,高效SAAS服务赋能暨大经管交叉学科数据人才培养

ModelWhale

人工智能 大数据 经管 暨南大学

第一批大模型独角兽开始“挤泡沫”

脑极体

AI

国内首家!悦数图数据库全项完成中国信通院图数据库性能测试

悦数图数据库

数据库 信创 图数据库 知识图谱 悦数图数据库

MySQL 示例数据库大全

Simon

MySQL

通过搭建 24 点小游戏应用实战,带你了解 AppBuilder 的技术原理

Baidu AICLOUD

大模型 AI 原生云 AI原生应用 AppBuilder

AIGC系统中聊天小助手卡片小组件嵌套设计实践

京东科技开发者

构建电商竞品分析工具:以京东商品数据为例

tbapi

京东 竞品分析 京东商品列表数据接口 京东数据接口

数字化供应链平台:优化运营、驱动创新的未来之路

天津汇柏科技有限公司

数字化转型 供应链

为什么我的项目Debug运行没问题,编译成Release包就报错?

京东科技开发者

客户案例 | 通过流程智能帮助国际餐饮巨头企业快速开万店

望繁信科技

数字化转型 智慧餐饮 流程挖掘 流程智能 望繁信科技

"数据集成国产化:谷云科技的零代码ETL平台与行业创新"

RestCloud

ETL 数据集成 ETLCloud

代购系统:跨境电子商务的创新解决方案

Noah

突破瓶颈:如何优化 LLMs 的落地成本和延迟

Baihai IDP

程序员 AI LLMs 企业号 6 月 PK 榜 Agents

深度剖析集团型企业在新质生产力和数字化转型过程中面临的身份管理问题(四)

芯盾时代

iam 统一身份认证 身份和访问管理 统一身份管理平台

Databend 开源周报第 148 期

Databend

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