跳至主要内容

8 篇标记为“Ecosystem”的文章

“关于 Electron 包生态系统的博客文章”

查看所有标签

生态系统 2023 年回顾

·阅读时长 5 分钟

回顾 2023 年 Electron 开发者生态系统的改进和变化。


在过去的几个月里,我们一直在 Electron 生态系统中进行一些更改,以增强 Electron 应用程序的开发人员体验!以下是来自 Electron 总部的最新补充的简要概述。

Electron Forge 7 及更高版本

Electron Forge 7 — 我们用于打包和分发 Electron 应用程序的一体化工具的最新主要版本 — 现已推出。

虽然 Forge 6 是从 v5 开始的完全重写,但 v7 的范围较小,但仍然包含一些重大更改。今后,我们将继续发布 Forge 的主要版本,因为需要进行重大更改。

有关更多详细信息,请参阅 GitHub 上的完整 Forge v7.0.0 变更日志

重大更改

  • 切换到 notarytool 进行 macOS 签名:从 2023 年 11 月 1 日开始,Apple 停止了用于 macOS 签名的传统 altool,此版本将其完全从 Electron Forge 中删除。
  • 最低 Node.js 版本提升至 v16.4.0:通过此版本,我们将最低所需的 Node.js 版本设置为 16.4.0。
  • 放弃对 electron-prebuiltelectron-prebuilt-compile 的支持electron-prebuilt 是 Electron 的 npm 模块的原始名称,但在 v1.3.1 中被 electron 替换。electron-prebuilt-compile 是该二进制文件的替代方案,它附带增强的 DX 功能,但最终作为项目被放弃。

亮点

  • Google Cloud Storage 发布者作为我们更好地支持静态自动更新的努力的一部分,Electron Forge 现在支持直接发布到 Google Cloud Storage!
  • ESM forge.config.js 支持Electron Forge 现在支持 ESM forge.config.js 文件。(P.S. 期待 Electron 28 中的 ESM 入口点支持。)
  • 制造者现在并行运行在 Electron Forge 6 中,制造者为了 ✨ 传统 ✨ 原因而顺序运行。从那时起,我们测试了 Make 步骤的并行化,没有发现任何负面影响,因此在为同一平台构建多个目标时,您应该会看到速度提升!
感谢!

🙇 大感谢 mahnunchik 对 Forge 配置中的 GCS 发布者和 ESM 支持的贡献!

更好的静态存储自动更新

Squirrel.Windows 和 Squirrel.Mac 是支持 Electron 内置 autoUpdater 模块的特定于平台的更新程序技术。这两个项目都支持通过两种方法进行自动更新

  • Squirrel 兼容的更新服务器
  • 托管在静态存储提供商(例如 AWS、Google Cloud Platform、Microsoft Azure 等)上的清单 URL

更新服务器方法传统上一直是 Electron 应用程序的推荐方法(并提供对更新逻辑的额外自定义),但它有一个主要缺点——如果应用程序是闭源的,则需要应用程序维护自己的服务器实例。

另一方面,静态存储方法一直是可行的,但它在 Electron 中没有记录,并且在 Electron 工具包中支持不佳。

通过 @MarshallOfSound 的一些出色工作,无服务器自动应用程序更新的更新故事已得到大幅简化

  • Electron Forge 的 Zip 和 Squirrel.Windows 制造者现在可以配置为输出与 autoUpdater 兼容的更新清单。
  • update-electron-app 的一个新主要版本 (v2.0.0) 现在可以读取这些生成的清单,作为 update.electronjs.org 服务器的替代方案。

一旦您的制造者和发布者配置为将更新清单上传到云文件存储,您只需进行几行配置即可启用自动更新

const { updateElectronApp, UpdateSourceType } = require('update-electron-app');

updateElectronApp({
updateSource: {
type: UpdateSourceType.StaticStorage,
baseUrl: `https://my-manifest.url/${process.platform}/${process.arch}`,
},
});
进一步阅读

📦 想了解更多?有关详细指南,请参阅 Forge 的自动更新文档

@electron/ 扩展宇宙

当 Electron 首次启动时,社区发布了许多软件包来增强开发、打包和分发 Electron 应用程序的体验。随着时间的推移,这些软件包中的许多都合并到了 Electron 的 GitHub 组织中,核心团队承担了维护负担。

在 2022 年,我们开始将所有这些第一方工具统一到 npm 上的 @electron/ 命名空间下。此更改意味着以前是 electron-foo 的包现在在 npm 上是 @electron/foo,以前名为 electron/electron-foo 的存储库现在在 GitHub 上是 electron/foo。这些更改有助于将第一方项目与用户端项目清楚地区分开来。这包括许多常用的包,例如

  • @electron/asar
  • @electron/fuses
  • @electron/get
  • @electron/notarize
  • @electron/osx-sign
  • @electron/packager
  • @electron/rebuild
  • @electron/remote
  • @electron/symbolicate-mac
  • @electron/universal

展望未来,我们发布的所有第一方包也将位于 @electron/ 命名空间下。此规则有两个例外

  • Electron 核心将继续在 electron 包下发布。
  • Electron Forge 将继续在 @electron-forge/ 命名空间下发布其所有单仓库包。
寻找星星

⭐ 在此过程中,我们也不小心将 electron/packager 存储库设为私有,这不幸地导致我们 GitHub 星标计数被清除(清除之前超过 9000)。如果您是 Packager 的活跃用户,我们感谢您的 ⭐ 星标 ⭐!

介绍 @electron/windows-sign

从 2023 年 6 月 1 日开始,行业标准开始要求将 Windows 代码签名证书的密钥存储在符合 FIPS 的硬件上。

实际上,这意味着对于在 CI 环境中构建和签名的应用程序而言,代码签名变得更加困难,因为许多 Electron 工具接受证书文件和密码作为配置参数,并尝试使用硬编码逻辑从那里进行签名。

这种情况一直是 Electron 开发人员的常见痛点,这就是我们一直在努力寻找更好的解决方案的原因,该解决方案将 Windows 代码签名隔离到它自己的独立步骤中,类似于 @electron/osx-sign 在 macOS 上所做的那样。

将来,我们计划将此包完全集成到 Electron Forge 工具链中,但它目前独立存在。该包目前可用于在 npm install --save-dev @electron/windows-sign 进行安装,并且可以通过编程方式或通过 CLI 使用。

请尝试一下,并在 存储库的问题跟踪器 中告诉我们您的反馈!

下一步是什么?

我们将在下个月进入每年的 12 月份的安静期。在此期间,我们将思考如何让 Electron 开发体验在 2024 年变得更好。

您希望我们接下来做些什么?告诉我们!

介绍 Electron Forge 6

·6 分钟阅读

我们很高兴地宣布 Electron Forge v6.0.0 现已发布!此版本标志着 Forge 自 2018 年以来的第一个主要版本,并将该项目从 electron-userland 移动到 Github 上的 electron 主组织。

请继续阅读以了解新功能以及您的应用程序如何采用 Electron Forge!

什么是 Electron Forge?

Electron Forge 是用于打包和分发 Electron 应用程序的工具。它将 Electron 的构建工具生态系统统一到一个可扩展的接口中,以便任何人都可以立即开始制作 Electron 应用程序。

主要功能包括

  • 📦 应用程序打包和代码签名
  • 🚚 可定制的 Windows、macOS 和 Linux 安装程序(DMG、deb、MSI、PKG、AppX 等)
  • ☁️ 云提供商(GitHub、S3、Bitbucket 等)的自动化发布流程
  • ⚡️ 易于使用的 webpack 和 TypeScript 模板
  • ⚙️ 原生 Node.js 模块支持
  • 🔌 可扩展的 JavaScript 插件 API
进一步阅读

访问 为什么选择 Electron Forge 说明文档以了解有关 Forge 的理念和架构的更多信息。

v6 中有什么新功能?

完全重写

从 v1 到 v5,Electron Forge 基于现已停止维护的 electron-compile 项目。Forge 6 是该项目的完整重写,具有新的模块化架构,可以扩展以满足任何 Electron 应用程序的需求。

在过去几年中,Forge v6.0.0-beta 已与 v5 实现功能对等,代码更新速度也大幅降低,使该工具已准备好供大众使用。

不要安装错误的包

对于 5.0 版及以下版本,Electron Forge 发布到 npm 上的 electron-forge 包中。从 v6 重写开始,Forge 作为具有许多较小项目的单仓库项目构建。

正式支持

从历史上看,Electron 维护人员对构建工具持无所谓态度,将此任务留给了各种社区包。但是,随着 Electron 作为一个项目日益成熟,新的 Electron 开发人员越来越难理解他们需要哪些工具来构建和分发他们的应用程序。

为了帮助引导 Electron 开发人员完成分发过程,我们已决定将 Forge 作为 Electron 的官方开箱即用构建管道

在过去的一年里,我们一直在将 Forge 慢慢集成到官方的 Electron 文档中,并且我们最近将 Forge 从其在 electron-userland/electron-forge 中的旧位置移动到 electron/forge 存储库。现在,我们终于准备好向大众发布 Electron Forge 了!

入门

初始化一个新的 Forge 项目

可以使用 create-electron-app CLI 脚本创建新的 Electron Forge 项目。

yarn create electron-app my-app --template=webpack
cd my-app
yarn start

该脚本将在 my-app 文件夹中创建一个 Electron 项目,该项目具有完全的 JavaScript 打包和预配置的构建管道。

有关更多信息,请参阅 Forge 文档中的 入门 指南。

一流的 webpack 支持

上面的代码片段使用 Forge 的 Webpack 模板,我们建议将其作为新 Electron 项目的起点。此模板基于 @electron-forge/plugin-webpack 插件,该插件通过几种方式将 webpack 集成到 Electron Forge 中,包括

  • 使用 webpack-dev-server 增强本地开发流程,包括对渲染器中的 HMR 支持;
  • 在应用程序打包之前处理 webpack 包的构建逻辑;以及
  • 在 webpack 打包过程中添加对原生 Node 模块的支持。

如果您需要 TypeScript 支持,请考虑使用 Webpack + TypeScript 模板

导入现有项目

Electron Forge CLI 还包含用于导入现有 Electron 项目的导入命令。

cd my-app
yarn add --dev @electron-forge/cli
yarn electron-forge import

当您使用 import 命令时,Electron Forge 将添加一些核心依赖项并创建一个新的 forge.config.js 配置。如果您有任何现有的构建工具(例如 Electron Packager、Electron Builder 或 Forge 5),它将尝试迁移尽可能多的设置。您可能需要手动迁移一些现有的配置。

手动迁移详细信息可以在 Forge 的 导入文档 中找到。如果您需要帮助,请访问 我们的 Discord 服务器

为什么要切换到 Forge?

如果您已经拥有用于打包和发布 Electron 应用程序的工具,采用 Electron Forge 的好处仍然可能超过最初的切换成本。

我们认为使用 Forge 有两个主要好处

  1. Forge 在 Electron 支持新功能时立即接收用于应用程序构建的新功能。在这种情况下,您无需自己接入新的工具支持,也不必等到其他包最终实现该支持后再进行升级。有关最新示例,请参阅 macOS 通用二进制文件ASAR 完整性检查

  2. Forge 的多包架构使其易于理解和扩展。由于 Forge 由许多具有明确责任的较小包组成,因此更易于跟踪代码流。此外,Forge 的可扩展 API 设计意味着您可以编写自己的附加构建逻辑,与提供的配置选项分开,以实现高级用例。有关编写自定义 Forge 插件、制造商和发布者的更多详细信息,请参阅文档的 扩展 Electron Forge 部分。

重大更改

Forge 6 已经在测试版阶段运行了很长时间,其发布节奏也逐渐放缓。但是,我们在 2022 年下半年加速了开发,并在最近的几个版本中使用了一些最终的重大更改来推动 v6.0.0 稳定版本的发布。

如果您是 Electron Forge 6 测试版用户,请参阅 v6.0.0 GitHub 发行说明,以了解最近测试版 (>=6.0.0-beta.65) 中进行的重大更改列表。

可以在存储库的 CHANGELOG.md 中找到所有更改和提交的完整列表。

提交您的反馈!

告诉我们您的需求!Electron Forge 团队一直在努力改进该项目,使其更适合用户。

您可以通过提交功能请求、发布问题或只是让我们知道您的反馈来帮助我们改进 Electron Forge!您也可以加入我们 官方 Electron Discord 服务器,那里有一个专门的频道用于讨论 Electron Forge。

如果您想对 Forge 文档在https://forge.electron.js.cn 上的任何反馈,我们有一个与electron-forge/electron-forge-docs 存储库同步的 GitBook 实例。

Spectron 弃用通知

·阅读时间:2 分钟

Spectron 将于 2022 年 2 月 1 日停止使用。


从 2022 年 2 月开始,Spectron 将由 Electron 团队正式弃用

为什么弃用 Spectron?

虽然 Spectron 一直为每个新的 Electron 版本发布新版本,但该项目一年多来几乎没有维护和改进,目前也没有全职维护人员。随着远程模块在 Electron 14 中移出 Electron 核心并进入外部模块,Spectron 将需要进行重大重写才能继续可靠地工作。

在审查了 Spectron 持续维护的几个可用选项后,Electron 团队已决定在 2022 年弃用 Spectron。

弃用时间表

以下是我们的计划弃用时间表

  • 2021 年 11 月 - 2022 年 1 月:Electron 团队将继续接受来自社区的拉取请求。
  • 2022 年 1 月:将发布有关 Spectron 弃用的最终公告版本。
  • 2022 年 2 月 1 日:Spectron 的存储库将被标记为“已存档”。不再接受拉取请求。

2022 年 2 月 1 日之后,Electron 将继续无限期地保留 Spectron 存储库,以便其他人可以随意为他们的项目分叉或使用现有代码。我们希望这将有助于为可能仍然依赖 Spectron 的任何项目提供更长的过渡时间。

Spectron 的替代方案

如果您当前在项目中使用 Spectron 并且想要迁移到其他测试解决方案,您可以阅读我们的自动化测试指南

我们目前有几个其他推荐的 Spectron 替代方案,包括 Playwright 和 WebDriverIO。每个选项的官方教程可以在我们的自动化测试文档中找到。

接下来是什么

我们 Electron 团队感谢您使用 Spectron 和 Electron。我们知道你们中的许多人依赖 Spectron 来测试你们的应用程序,我们希望让这次过渡对你们来说尽可能地轻松。感谢您选择 Electron!

更轻松地为开源应用程序进行自动更新

·阅读时间:3 分钟

今天,我们发布了一个免费的、开源的、托管的更新 Web 服务以及配套的npm 包,以使开源 Electron 应用程序能够轻松地自动更新。这是迈向赋予应用程序开发人员更多关注高质量用户体验,而无需过多考虑部署的一步。


The new updater module in action

让生活更轻松

Electron 拥有一个autoUpdater API,它使应用程序能够从远程端点获取元数据以检查更新、在后台下载更新并自动安装更新。

启用这些更新对于许多 Electron 应用程序开发人员来说一直是部署过程中一个繁琐的步骤,因为它需要部署和维护一个 Web 服务器,仅仅是为了提供应用程序版本历史记录元数据。

今天,我们宣布了一种新的即用型自动应用程序更新解决方案。如果您的 Electron 应用程序位于公共 GitHub 存储库中,并且您使用 GitHub Releases 发布构建,则可以使用此服务将持续应用程序更新交付给您的用户。

使用新模块

为了最大程度地减少您的配置,我们创建了update-electron-app,这是一个与新的update.electronjs.org Web 服务集成的 npm 模块。

安装模块

npm install update-electron-app

从应用程序的任何地方在主进程中调用它

require('update-electron-app')();

就是这样!该模块将在应用程序启动时检查更新,然后每隔十分钟检查一次。找到更新后,它将在后台自动下载,更新准备就绪时将显示一个对话框。

迁移现有应用程序

已经使用 Electron 的 autoUpdater API 的应用程序也可以使用此服务。为此,您可以自定义 update-electron-app 模块或直接与 update.electronjs.org 集成

替代方案

如果您使用electron-builder 打包应用程序,则可以使用其内置的更新程序。有关详细信息,请参阅electron.build/auto-update

如果您的应用程序是私有的,您可能需要运行自己的更新服务器。为此,有很多开源工具,包括 Zeit 的Hazel 和 Atlassian 的Nucleus。有关更多信息,请参阅部署更新服务器 教程。

感谢

感谢Julian Gruber 帮助设计和构建了这个简单且可扩展的 Web 服务。感谢 Zeit 的朋友们提供他们的开源Hazel 服务,我们从中获得了设计灵感。感谢Samuel Attard 对代码进行审查。感谢 Electron 社区帮助测试此服务。

🌲祝 Electron 应用程序永远长青!

宣布 Electron 中支持 TypeScript

·阅读时间:4 分钟

electron npm 包现在包含一个 TypeScript 定义文件,它提供了对整个 Electron API 的详细注释。即使您正在编写原生 JavaScript,这些注释也可以改善您的 Electron 开发体验。只需 npm install electron 即可在您的项目中获得最新的 Electron 类型。


TypeScript 是微软创建的一种开源编程语言。它是 JavaScript 的超集,通过添加对静态类型的支持来扩展该语言。近年来,TypeScript 社区迅速发展,TypeScript 在最近的 Stack Overflow 开发人员调查中被评为最受欢迎的编程语言 之一。TypeScript 被描述为“可扩展的 JavaScript”,来自GitHubSlack微软 的团队都在使用它来编写可扩展的 Electron 应用程序,这些应用程序被数百万用户使用。

TypeScript 支持 JavaScript 中的许多较新的语言特性,例如类、对象解构和 async/await,但它真正的区别特性是类型注释。声明程序预期使用的输入和输出数据类型可以通过减少错误,因为它们可以帮助您在编译时找到错误,并且这些注释也可以作为对程序工作原理的正式声明

当库用原生 Javascript 编写时,类型通常在编写文档时被视为事后的想法,定义模糊。函数通常可以接受比文档中记录的更多类型,或者函数可能具有未记录的不可见约束,这会导致运行时错误。

TypeScript 通过定义文件解决了这个问题。TypeScript 定义文件描述库的所有函数及其预期的输入和输出类型。当库作者将 TypeScript 定义文件与他们发布的库捆绑在一起时,该库的使用者可以在编辑器中直接探索其 API 并立即开始使用它,通常无需参考库的文档。

许多流行的项目,如AngularVue.jsnode-github(现在包括 Electron!)编译自己的定义文件并将其与他们发布的 npm 包捆绑在一起。对于没有捆绑自己的定义文件的项目,可以使用DefinitelyTyped,这是一个由社区维护的第三方定义文件生态系统。

安装

从 1.6.10 版本开始,Electron 的每个版本都包含自己的 TypeScript 定义文件。当您从 npm 安装 electron 包时,electron.d.ts 文件会自动与安装的包捆绑在一起。

安装 Electron 的最安全的方法是使用确切的版本号

npm install electron --save-dev --save-exact

或者,如果您使用的是yarn

yarn add electron --dev --exact

如果您之前已经在使用第三方定义,如 @types/electron@types/node,您应该将它们从您的 Electron 项目中删除,以防止任何冲突。

定义文件是从我们的结构化 API 文档 派生的,因此它始终与Electron 的 API 文档 一致。只需安装 electron,您将始终获得与您使用的 Electron 版本保持一致的 TypeScript 定义。

用法

有关如何安装和使用 Electron 的新 TypeScript 注释的摘要,请观看此简短的演示屏幕录像

如果您使用的是Visual Studio Code,您已经内置了 TypeScript 支持。还有社区维护的插件用于AtomSublimevim其他编辑器

一旦您的编辑器配置了 TypeScript,您将开始看到更多上下文感知的行为,例如自动完成建议、内联方法引用、参数检查等等。

Method autocompletion

Method reference

Argument checking

TypeScript 入门

如果您是 TypeScript 的新手并希望了解更多信息,则此 来自 Microsoft 的介绍性视频 提供了有关该语言创建原因、工作原理、使用方法和未来发展方向的概述。

在 TypeScript 官方网站上还有 手册游乐场

由于 TypeScript 是 JavaScript 的超集,因此您现有的 JavaScript 代码已经是有效的 TypeScript。这意味着您可以逐步将现有的 JavaScript 项目转换为 TypeScript,根据需要添加新的语言特性。

感谢

如果没有 Electron 开源维护者社区的帮助,这个项目是不可能实现的。感谢 Samuel AttardFelix RiesebergBirunthan MohanathasMilan BurdaBrendan Forster 以及其他许多人对错误修复、文档改进和技术指导的贡献。

支持

如果您在使用 Electron 的新 TypeScript 定义文件时遇到任何问题,请在 electron-typescript-definitions 存储库中提交问题。

祝您 TypeScript 使用愉快!

Electron 用户空间

·阅读时间:3 分钟

我们在 Electron 网站上添加了一个新的 userland 部分,以帮助用户发现构成我们繁荣的开源生态系统的个人、软件包和应用程序。


github-contributors

Userland 的起源

Userland 是软件社区中的人们聚集在一起分享工具和想法的地方。这个词起源于 Unix 社区,它指的是在内核之外运行的任何程序,但如今它的含义更加广泛。当当今的 JavaScript 社区中的人们提到 userland 时,他们通常指的是 npm 包注册表。这是大多数实验和创新发生的地方,而 Node 和 JavaScript 语言(就像 Unix 内核)保留了相对较小且稳定的核心功能集。

Node 和 Electron

与 Node 一样,Electron 也有一组很小的核心 API。这些 API 提供了开发跨平台桌面应用程序所需的基本功能。这种设计理念使 Electron 能够保持灵活的工具,而不会过度规定其使用方式。

Userland 是“核心”的对应部分,使用户能够创建和共享扩展 Electron 功能的工具。

收集数据

为了更好地了解我们生态系统中的趋势,我们分析了 15,000 个公共 GitHub 存储库的元数据,这些存储库依赖于 electronelectron-prebuilt

我们使用了 GitHub APIlibraries.io API 和 npm 注册表来收集有关依赖项、开发依赖项、依赖者、包作者、存储库贡献者、下载次数、分叉次数、星标次数等信息。

然后我们使用这些数据生成了以下报告

过滤结果

应用程序依赖项星标应用程序 这样的报告列出了软件包、应用程序和存储库,它们有一个文本输入框,可用于过滤结果。

当您在该输入框中键入内容时,页面的 URL 会动态更新。这使您可以复制表示 userland 数据特定片段的 URL,然后与他人共享。

babel

更多内容即将推出

这第一组报告仅仅是个开始。我们将继续收集有关社区如何构建 Electron 的数据,并将向网站添加新的报告。

用于收集和显示这些数据的工具都是开源的

如果您有关于如何改进这些报告的想法,请告诉我们 在网站存储库中打开一个问题 或以上述提到的任何存储库。

感谢您,Electron 社区,让 userland 成为今天的它!

辅助工具

·阅读时间:2 分钟

创建无障碍应用程序很重要,我们很高兴向 DevtronSpectron 引入新的功能,让开发者有机会为每个人改进他们的应用程序。


Electron 应用程序中的无障碍问题类似于网站的无障碍问题,因为它们最终都是 HTML。但是,对于 Electron 应用程序,您不能使用在线资源进行无障碍审计,因为您的应用程序没有 URL 来指向审计工具。

这些新功能将这些审计工具带到了您的 Electron 应用程序中。您可以选择将审计添加到您的 Spectron 测试中,或者在 DevTools 中使用 Devtron 使用它们。请继续阅读以了解工具的摘要,或者查看我们的 无障碍文档 以获取更多信息。

Spectron

在测试框架 Spectron 中,您现在可以审计应用程序中的每个窗口和 <webview> 标签。例如

app.client.auditAccessibility().then(function (audit) {
if (audit.failed) {
console.error(audit.message);
}
});

您可以在 Spectron 文档 中详细了解此功能。

Devtron

在 Devtron 中,有一个新的无障碍选项卡,它允许您审计应用程序中的页面,对结果进行排序和过滤。

devtron screenshot

这两个工具都使用 Google 为 Chrome 构建的 无障碍开发者工具 库。您可以在该 存储库的 wiki 上详细了解此库使用的无障碍审计规则。

如果您知道其他适用于 Electron 的优秀无障碍工具,请使用拉取请求将它们添加到 无障碍文档 中。

Mac App Store 和 Electron 上的 Windows 自动更新程序

·阅读时间:2 分钟

最近,Electron 添加了两个令人兴奋的功能:与 Mac App Store 兼容的构建和内置的 Windows 自动更新程序。


Mac App Store 支持

v0.34.0 开始,每个 Electron 版本都包含与 Mac App Store 兼容的构建。以前,在 Electron 上构建的应用程序将不符合 Apple 对 Mac App Store 的要求。大多数这些要求都与使用私有 API 有关。为了以符合这些要求的方式对 Electron 进行沙箱处理,需要删除两个模块

  • crash-reporter
  • auto-updater

此外,在检测 DNS 更改、视频捕获和无障碍功能方面,也有一些行为发生了变化。您可以在文档中详细了解这些更改以及 将您的应用程序提交到 Mac App Store。这些发行版可以在 Electron 发行页面 上找到,以 mas- 为前缀。

相关拉取请求:electron/electron#3108electron/electron#2920

Windows 自动更新程序

在 Electron v0.34.1 中,auto-updater 模块得到了改进,以便与 Squirrel.Windows 配合使用。这意味着 Electron 附带了在 OS X 和 Windows 上自动更新应用程序的简便方法。您可以在文档中详细了解 在 Windows 上设置应用程序以进行自动更新

相关拉取请求:electron/electron#1984