跳转到主内容

20 篇博文 含有标签「Project News」

Important announcements about the Electron project

查看所有标签

即将发布的 Electron 版本

· 阅读时间:约 2 分钟

Electron 正在暂停更新大型版本


发生了什么?

我们的 大型更新时间表 与Chromium 同步更新,Chromium项目最近由于调整工作时间表已决定 暂停更新。 这意味着,在Chromium经过改变的更新节奏期间,Electron也会暂时性地暂停重大更新。

我们认为,我们的最佳选择是沿着Chromium的脚步走下去, 因此,在过渡时期,Electron团队将转为全天候处理错误、安全、性能和稳定性问题。

我们希望确保我们的维护者和消费者的福利在这个时候都得到优先考虑。 因此,我们欢迎你们的反馈,并期待着恢复我们的正常发布时间表。

欲了解更多更新信息,请关注我们的 Twitter

编辑(2020-03-30):Election 9 稳定版将针对Chromium M83,并于2020年5月19日发布。 这针对 Chromium的声明 关于跳过M82稳定日期并调整M83稳定版发布日期。

Electron joins the OpenJS Foundation

· 阅读时间:约 2 分钟

At Node+JS Interactive in Montreal, the OpenJS Foundation announced that it accepted Electron into the Foundation's incubation program. The Foundation is committed to supporting the healthy growth of the JavaScript ecosystem and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large.

The OpenJS Foundation is host to a number of open source JavaScript projects including jQuery, Node.js, and webpack. It's supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft. Electron is an open–source framework for building cross-platform desktop applications with web technologies.

This is an exciting move for Electron, and we see it as a next step in our evolution as an open-source project.


What this means for developers

Electron joining the OpenJS Foundation does not change how Electron is made, released, or used — and does not directly affect developers building applications with Electron. Even though Electron was originally created at GitHub in 2013, it is currently maintained by a number of organizations and individuals. In 2019, Electron codified its governance structure and invested heavily into formalizing how decisions affecting the entire project are made. We believe that having multiple organizations and developers investing in and collaborating on Electron makes the project stronger.

Lifting Electron up from being owned by a single corporate entity and moving it into a neutral foundation focused on supporting the web and JavaScript ecosystem is a natural next step as we mature as an open-source project.

Learning more

You can read up on the foundation, its mission, and its members on the OpenJSF website. For more information and quotes about the acceptance of Electron into the OpenJSF incubation program, check out the official press release. To learn more about the humans behind Electron and how they work together, take a look at our Governance page.

To get started with Electron itself, take a peek at our documentation.

Electron 版本发布新步伐

· 阅读时间:约 4 分钟
⚡️ 更新日志(2021-07-14):我们走得更快!

在2021 年秋季,Chrome 团队 将发布节奏从每 6 周提高到每 4 周一次。 Electron 也紧随其后发布。 请阅读已更新的 8周模板 博客文章 以了解更多最新信息!

🎉 Electron 每12周将会新发布一个稳定版本! 🎉


⚡️ 哇,那也太快了! 但为什么呢?

简而言之,Chromium 不会停止发布新版本,所以 Electron 的研发也不会减速。

Chromium 的发布遵循每六周更新一次的规划。 为了在Electron中提供最新版本的Chromium,我们的发布计划需要跟踪他们的版本。 有关Chromium发布周期的更多信息可以在这里找到

🚀 为什么是每12周一次?

每6周,新的 Chromium 版本就会发布新功能,错误 / 安全修复和 V8 的改进。 Electron 用户一直迫切明确地表示希望这些更改能及时进行,因此我们调整了稳定发布日期,以匹配其他所有Chromium 稳定版本。 首先,Electron v6.0.0 将包括 M76,并计划于2019年7月30日发布稳定版,与Chromium M76同一天发布。

🚧这对我和我的 Electron 应用意味着什么?

您将能比以前更快地访问新的 Chromium 和 V8 功能和补丁。 重要的是,_当这些新变化到来时_您也能知道,因此您将能够使用比以前更好的信息进行规划。

Electron 团队 将继续支持 最新的三个主要版本。 例如,当 v6.0.0 在 2019 年 7 月 30 日稳定时,我们将继续支持 v6.x、v5.x 和 v4.x,而 v3.x 将寿终正寝。

💬 应用反馈项目

请考虑加入我们的 应用反馈计划 ,以帮助我们测试 Beta 版和应用稳定性。 Projects who participate in this program test Electron betas on their apps; and in return, the new bugs they find are prioritized for the stable release.

📝 Electron 版本简史

在 v3.0.0 之前,有关稳定版本的发布决策没有规律进行。 我们添加了项目的内部时间表与 v3.0.0 和 v4.0.0。 今年早些时候,我们决定首次发布 Electron v5.0.0 的稳定发布日期。 总的来说,宣布我们的稳定发布日期得到了积极的回应,我们很高兴在未来的版本中继续这样做。

为了更好地简化这些与升级相关的工作,我们的更新发布工作组将会和我们的治理组合作 他们使得我们能够更好地确定这项工作的优先级并委派这项工作,我们希望在后续的版本中这些改变都会变得更加明显。

以下是我们和 Chromium 相比的更新计划表:

line graph comparing Electron versus Chromium versions

📨 如果您有任何疑问,请发送电子邮件至 info@electronjs.org

Electron 治理

· 阅读时间:约 2 分钟

As Electron grows in popularity for desktop applications, the team working on it has also grown: we have more fulltime maintainers who work for different companies, live in different timezones, and have different interests. We're introducing a governance structure so we can keep growing smoothly.


Why are things changing?

People in the Electron project coordinate in timezones around the world with volunteers, with full-time maintainers, and with several companies who all rely on Electron. Until now, we've been successful with informal coordination; but as the team has grown, we've found that the approach doesn't scale. We also want to make it easier for new contributors to find a place to call home in the project.

工作组

Electron governance includes working groups that are responsible for different parts of the project. We're starting out with seven groups:

  • Community & Safety: Handles Code of Conduct issues.
  • Docs & Tooling: Oversees externally-focused tooling (e.g. Fiddle, Forge) and the Electron documentation.
  • Outreach: Helps grow the Electron community.
  • Releases: Ensures releases are stable and on schedule.
  • Security: Performs security testing and responds to security issues.
  • Upgrades: Integrates upstream upgrades, such as new versions of V8, Chromium, and Node.
  • Website: Maintains and improves the Electron website.

These groups will coordinate with each other, but each has their own meeting schedules and agendas to be productive on their own. More details on these groups are available at the governance repository.

Does this change the Electron project's direction?

This shouldn't have any direct effect on Electron's direction. If our strategy is successful, working groups will make it easier for new contributors to find topics that interest them, and make maintainers' lives simpler by moving discussion unrelated to their day-to-day work to other groups. If that happens, it may indirectly affect things by having more unblocked people working together.

Where can I learn more?

不再支持32位Linux

· 阅读时间:约 3 分钟

Electron 团队将停止支持 32 位 Linux (ia32 / i386),从Electron v4.0 开始。 支持基于32位的 Linux 安装的 Electron 最后版本是 Electron v3.1,它将获得支持版本直到Electron v6 被解除。 Support for 64-bit based Linux and armv7l will continue unchanged.


What exactly is Electron no longer supporting?

You may have seen the description "64-bit" and "32-bit" as stickers on your computer or as options for downloading software. The term is used to describe a specific computer architecture. Most computers made in the 1990s and early 2000s were made with CPUs that were based on the 32-bit architecture, while most computers made later were based on the newer and more powerful 64-bit architecture. The Nintendo 64 (get it?) and the PlayStation 2 were the first widely available consumer devices with the new architecture, computers sold after 2010 contained almost exclusively 64-bit processors. As a result, support has been shrinking: Google stopped releasing Chrome for 32-bit Linux in March 2016, Canonical stopped providing 32-bit desktop images in 2017 and dropped support for 32-bit altogether with Ubuntu 18.10. Arch Linux, elementary OS, and other prominent Linux distributions have already dropped support for the aging processor architecture.

Until now, Electron has provided and supported builds that run on the older 32-bit architecture. From release v4.0 onwards, the Electron team will no longer be able to provide binaries or support for 32-bit Linux.

Electron has always been a vibrant open source project and we continue to support and encourage developers interested in building Electron for exotic architectures.

这对开发者意味着什么?

If you are not currently providing 32-bit distributions of your app for Linux, no action is required.

Projects which ship 32-bit Linux Electron applications will need to decide how to proceed. 32-bit Linux will be supported on Electron 3 until the release of Electron 6, which gives some time to make decisions and plans.

这对用户意味着什么?

If you are a Linux user and not sure whether or not you're running a 64-bit based system, you are likely running on a 64-bit based architecture. To make sure, you can run the lscpu or uname -m commands in your terminal. Either one will print your current architecture.

If you are using Linux on a 32-bit processor, you have likely already encountered difficulties finding recently released software for your operating system. The Electron team joins other prominent members in the Linux community by recommending that you upgrade to a 64-bit based architecture.

Node.js Native Addons and Electron 5.0

· 阅读时间:约 2 分钟

If you're having trouble using a native Node.js addon with Electron 5.0, there's a chance it needs to be updated to work with the most recent version of V8.


Goodbye v8::Handle, Hello v8::Local

In 2014, the V8 team deprecated v8::Handle in favor of v8::Local for local handles. Electron 5.0 includes a version of V8 that has finally removed v8::Handle for good, and native Node.js addons that still use it will need to be updated before they can be used with Electron 5.0.

The required code change is minimal, but every native Node module that still uses v8::Handle will fail to build with Electron 5.0 and will need to be modified. The good news is that Node.js v12 will also include this V8 change, so any modules that use v8::Handle will need to be updated anyway to work with the upcoming version of Node.

I maintain a native addon, how can I help?

If you maintain a native addon for Node.js, ensure you replace all occurrences of v8::Handle with v8::Local. The former was just an alias of the latter, so no other changes need to be made to address this specific issue.

You may also be interested in looking into N-API, which is maintained separately from V8 as a part of Node.js itself, and aims to insulate native addons from changes in the underlying JavaScript engine. You can find more information in the N-API documentation on the Node.js website.

帮助! I use a native addon in my app and it won't work!

If you're consuming a native addon for Node.js in your app and the native addon will not build because of this issue, check with the author of the addon to see if they've released a new version that fixes the problem. If not, reaching out to the author (or opening a Pull Request!) is probably your best bet.

Using GN to Build Electron

· 阅读时间:约 3 分钟

Electron now uses GN to build itself. Here's a discussion of why.


GYP and GN

当Electron于2013年首次发布时,Chromium的构建配置是用 GYP编写的,短于“生成你的项目”。

2014年, Chromium项目引入了一个新的构建配置工具,叫做 GN (简称“生成 Ninja”),Chromium的构建文件被迁移到GN ,GYP 被从源代码中删除。

Electron 历史上一直保持主 Electron 代码libchromiumcontent之间的分离, 对 Chromium 的 'content' 子模块的 Electron 部分。 Electron has carried on using GYP, while libchromiumcontent -- as a subset of Chromium -- switched to GN when Chromium did.

Like gears that don't quite mesh, there was friction between using the two build systems. Maintaining compatibility was error-prone, from compiler flags and #defines that needed to be meticulously kept in sync between Chromium, Node, V8, and Electron.

To address this, the Electron team has been working on moving everything to GN. Today, the commit to remove the last of the GYP code from Electron was landed in master.

What this means for you

If you're contributing to Electron itself, the process of checking out and building Electron from master or 4.0.0 is very different than it was in 3.0.0 and earlier. See the GN build instructions for details.

If you're developing an app with Electron, there are a few minor changes you might notice in the new Electron 4.0.0-nightly; but more than likely, Electron's change in build system will be totally transparent to you.

What this means for Electron

GN is faster than GYP and its files are more readable and maintainable. Moreover, we hope that using a single build configuration system will reduce the work required to upgrade Electron to new versions of Chromium.

  • It's already helped development on Electron 4.0.0 substantially because Chromium 67 removed support for MSVC and switched to building with Clang on Windows. With the GN build, we inherit all the compiler commands from Chromium directly, so we got the Clang build on Windows for free!

  • It's also made it easier for Electron to use BoringSSL in a unified build across Electron, Chromium, and Node -- something that was problematic before.

证书透明度的修改

· 阅读时间:约 3 分钟

Electron 1.4. 2 包含一个重要的补丁,修复了一些Smantec、GeoTrust的上游Chrome 问题。 和 Thawte SSL/TLS 证书 被错误地拒绝了从 libchromiumcontent生成时间起10周内的 Chrome 库 Electron。 在受影响的网站上使用的 证书没有问题,替换这些证书并不会做什么。


在 Electron 1.4.0 — 1.4.11 对使用这些受影响的 证书的站点的HTTPS 请求将在某个日期之后由于网络错误而失败。 This affects HTTPS requests made using Chrome's underlying networking APIs such as window.fetch, Ajax requests, Electron's net API, BrowserWindow.loadURL, webContents.loadURL, the src attribute on a <webview> tag, and others.

将你的应用程序升级到1.4.12以防止请求失败。

**注意:**这个版本是在 Chrome 53 版本引入的,所以早入 1.4.0 版本之前的 Electron 版本不受影响。

Impact Dates

Below is a table of each Electron 1.4 version and the date when requests to sites using these affected certificates will start to fail.

Electron VersionImpact Date
1.3.x不受影响
1.4.0已经失败
1.4.1已经失败
1.4.2已经失败
1.4.312月 10日 2016年 9:00 PM PST
1.4.412月 10日 2016年 9:00 PM PST
1.4.512月 10日 2016年 9:00 PM PST
1.4.61月 14日 2017年 9:00 PM PST
1.4.71月 14日 2017年 9:00 PM PST
1.4.81月 14日 2017年 9:00 PM PST
1.4.91月 14日 2017年 9:00 PM PST
1.4.101月 14日 2017年 9:00 PM PST
1.4.112月 11日 2017年 9:00 PM PST
1.4.12不受影响

您可以通过设置您的计算机的时钟提前来验证您的应用程序的影响日期,然后检测https://symbeta.symantec.com/welcome/是否能够成功加载。

更多資料

您可以在以下链接阅读有关此主题、原始问题以及问题修复的更多信息:

npm install electron

· 阅读时间:约 4 分钟

Electron 从 1.3.1 版本开始,可以使用 npm install electron --save-dev 安装最新的预编译版本的 Electron 到你的应用程序中。


npm install electron

预编译的 Electron 二进制分发文件

如果你在此前使用过一些 Electron 构建的应用程序,你大概率会接触到 electron-prebuilt 这个 npm 软件包。 这个软件包对于每个 Electron 项目来说几乎都是不可或缺的。 当你安装这个软件包时,它会检测你的操作系统,然后下载适合于你的系统的二进制分发文件。

新的名字

Electron 的安装过程对于初学者来说几乎是一道高墙。 许多勇敢的人在初次使用 Electron 开发应用程序时往往会试图运行 npm install electron 安装 Electron,然而正确的做法却是反直觉的 npm install electron-prebuilt,他们往往在经历了许多混乱之后才会意识到这不是他们想要的 electron

这是因为在 npm 上已经有名为 electron 的项目,在 GitHub 的 Electron 项目创建之前就早已存在。 为了让 Electron 的开发更加容易入门且直观,我们联系了目前 electron 这个 npm 软件包的拥有者,询问他是否愿意将名字转让给我们。 幸运的是,他是我们项目的粉丝,并且同意了调整名字的提案。

prebuilt 依旧存在

从 1.3.1 版本开始,我们同时发布了 electronelectron-prebuilt 两个软件包到 npm 上。 这两个软件包是完全一致的。 由于现在有许多开发者还在他们的项目里使用 electron-prebuilt 这个名字,在未来的一段时间内,我们还会继续使用这两个名字发布软件包。 我们推荐更新你的package.json文件去使用新的electron依赖,但是我们会持续发布新的electron-prebuilt 直到2016年底。

electron-userland/electron-prebuilt 仓库将继续作为 electron 软件包存在。

致谢

我们特别感谢 @mafintosh@maxogden 和许多 贡献者,他们创建并维护了 electron-prebuilt 项目,并且不懈服务 JavaScript、Node.js 和 Electron 社区。

此外,我们也对转让了 electron 包名的 @logicalparadox 致以诚挚的谢意。

更新你的项目

我们与社区一起努力更新了受此次变更影响的一些热门软件包。 electron-packagerelectron-rebuildelectron-builder 等软件包已经支持了新名字,同时保留了对旧名字的支持。

如果你在使用这些新软件包的时候发现任何问题,请务必在 electron-userland/electron-prebuilt 开启一个 issue 告知我们。

对于 Electron 相关的其他问题,请在 electron/electron 仓库开启 issue。

Atom Shell is now Electron

· 阅读时间:约 2 分钟

Atom Shell is now called Electron. 您可以了解更多关于 Electron 以及人们正在其新家居 electron 的构建。


electron

Electron 是我们原先为 Atom 编辑器 构建的跨平台应用程序外壳,以处理Chromium/Node.js 事件循环集成和原生API。

When we got started, our goal wasn't just to support the needs of a text editor. We also wanted to create a straightforward framework that would allow people to use web technologies to build cross-platform desktop apps with all of the native trimmings.

In two years, Electron has grown immensely. It now includes automatic app updates, Windows installers, crash reporting, notifications, and other useful native app features — all exposed through JavaScript APIs. And we have more in the works. We plan to extract even more libraries from Atom to make building a native app with web technologies as easy as possible.

So far, individual developers, early-stage startups, and large companies have built apps on Electron. They've created a huge range of apps — including chat apps, database explorers, map designers, collaborative design tools, and mobile prototyping apps.

可以在 electronjs. rg 查看更多开发者们基于Electron 构建的应用,或查看 文档 以了解更多关于您可以做什么的信息。

If you've already gotten started, we'd love to chat with you about the apps you're building on Electron. Email info@electronjs.org to tell us more. You can also follow the new @ElectronJS Twitter account to stay connected with the project.

💙 🔌