操作系统
Linux
最近更新
2024-11-09
使用许可
免费
语言
不支持中文
文件大小
89.76 MB

Electron是一款使用JavaScript、HTML和CSS构建跨平台桌面应用程序的开源框架,它兼容Windows、Mac和Linux等主流操作系统,可以轻松地将应用程序打包为可执行文件或安装程序。Electron由Github开发,并基于Chromium和Node.js,使得开发者能够使用前端技术栈来开发桌面应用程序。

Electron的功能特点主要体现在以下几个方面:

  1. 跨平台支持:Electron允许开发者使用同一套代码在多个操作系统上构建应用程序,这大大提高了开发效率并降低了维护成本。无论是Windows、Mac还是Linux用户,都可以享受到一致的用户体验。
  2. 前端技术栈:Electron使用HTML、CSS和JavaScript等Web技术来构建界面和处理业务逻辑,这使得前端开发者能够轻松地利用他们的现有技能来开发桌面应用程序。
  3. 强大的渲染引擎:Electron基于Chromium,拥有强大的渲染引擎,支持现代Web技术和丰富的界面效果。这保证了Electron应用程序能够呈现出高质量的用户界面,同时提供了流畅的用户体验。
  4. 庞大的生态系统:Electron拥有庞大的开发者社区和丰富的第三方库,这意味着开发者可以很容易地找到所需的插件和工具,从而快速构建功能丰富的桌面应用程序。
  5. 易于维护:由于Electron框架采用了Web技术栈,开发者可以轻松地对应用进行更新和维护。此外,Electron还提供了丰富的社区资源和文档,帮助开发者快速解决问题。
  6. 强大的原生能力:虽然Electron框架基于Web技术栈,但它仍然具有强大的原生能力。通过使用Node.js,开发者可以轻松地实现文件操作、网络请求等本地化操作,为应用程序增加了更多可能性和灵活性。

Electron的工作原理主要分为两个主要部分:主进程和渲染进程。主进程负责管理应用程序的生命周期,控制应用的全局状态,而渲染进程则负责渲染网页内容。通过这两个进程的协同工作,Electron实现了跨平台桌面应用程序的开发和部署。

31.0.0 版本更新说明:

Stack Upgrades

  • Chromium: 更新至126.0.6478.36版本。
  • Node.js: 更新至20.14.0版本,详情可见其[官方博客文章](Node 20.14.0 blog post)。
  • V8引擎: 升级至12.6版本。


重大变更(Breaking Changes)

  • 在macOS上,window.flashFrame(bool)现在会连续闪烁。
  • Chromium已更新至126.0.6445.0,移除了WebSQL支持。
  • Chromium更新至125.0.6412.0,修改了nativeImage.toDataURL的行为,以保留PNG的颜色空间。


新增功能(Features)

  • 新增webContents实例属性navigationHistory,结合navigationHistory.getEntryAtIndex方法,允许应用检索浏览历史中的任意导航条目的URL和标题。
  • Session.clearDataAPI新增了options参数。
  • 在utility进程中使用net模块发起的请求现在支持代理配置。
  • navigator.serial中增加了对服务类ID请求蓝牙端口的支持。
  • 引入了对NODE_EXTRA_CA_CERTS的支持。
  • 扩展了webContents.setWindowOpenHandler,支持手动创建BrowserWindow
  • 实现了文件系统API的支持。
  • Session中新增了clearData方法。
  • WebContentsView现在可以接受预先存在的webContents对象。


改进(Improvements)

  • WebContentsView现在可以接受预先存在的webContents对象,增强复用能力。
  • ses.cookies.set失败时,提供了更详细的错误信息。
  • 重新添加了检查应用是否作为登录服务启动的功能(仅限macOS)。


移除/废弃(Removed/Deprecated)

  • context-menu参数中的inputFieldType属性已被移除。


修复(Fixes)

  • 修复了fs.{readdir|readdirSync}及其Promise版本中缺少递归选项支持的问题。
  • 在Asar归档中调用fs.{readdir|readdirSync}时,增加了对withFileTypes的支持。
  • 修复了macOS上的ASAN构建问题。
  • 解决了窗口禁用了最大化但启用了WCO仍显示最大化按钮的bug。
  • 修复了子视图在BrowserWindow中可能遇到的问题。
  • 修复了使用showInactive显示的窗口空白的问题。
  • 修复了UtilityProcess中可能不正确的退出代码。
  • 修复了originalFs.promises.cp的实现问题。


在早期版本中也有的修复(Also in earlier versions)...

  • BrowserWindow.show()现在能正确地恢复macOS上非活动应用的焦点。
  • GPU进程崩溃后,Electron在离屏渲染模式下不再绘制。
  • 确保仅在macOS 14.4及以上版本使用ScreenCaptureKit,避免权限提示。
  • 修复了chrome://process-internals加载失败的问题。
  • 解决了shell.showItemInFolder在路径包含正斜杠时不打开Windows资源管理器的问题。
  • 修复了在addChildView中添加视图为自己的子视图时引发的崩溃。
  • 修复了多次通过addChildView添加相同WebContentsView导致的崩溃。
  • 修复了扩展卸载时chrome.scripting可能导致的崩溃。
  • 解决了在BrowserView上调用setAutoResize时的错误。
  • 修复了Ubuntu中窗口最大化和重布局时的不一致崩溃问题。
  • 解决了Windows上静默打印导致渲染输出极小的问题。
  • 修复了即使在BrowserWindow的关闭事件上设置了preventDefaultBrowserViewwebContents仍被销毁的问题。
  • 解决了app.getLoginItemSettings未能正确抛出错误的问题。
  • 修正了app.setLoginItemSettings不当检查loginItemService的问题。
  • 修复了从WebContentsView内部的webContents调用document.requestFullscreen不起作用的问题。
  • 解决了macOS上recentDocuments不正确填充的问题。
  • 修复了在BaseWindow上调用setTitleBarOverlay不如预期工作的问题。
  • 解决了macOS上user-did-{resign|become}-active事件不正确触发的问题。
  • 修复了webContents.navigationHistory不是可枚举属性的问题。
  • 解决了在不传入或传入undefined时,webContents.print(options)失败的问题。
  • 修复了使用Badging API设置的徽章文本在Windows上不再正确显示的问题。
  • 修复了在Windows和Linux上调用window.center()时窗口位置错误居中的问题。
  • 修复了当对话框父窗体为BaseWindow而不是BrowserWindow时对话框无法正常工作的问题。
  • 解决了Windows上表情符号处理不当的问题。
  • 解决了在Mac上显示或聚焦面板窗口会激活应用的问题。
  • 修复了某些情况下调用WebUSB方法可能引起的崩溃。
  • 修复了serial-port-added事件未正确遵守serial.requestPort()设置的过滤器的问题。
  • 解决了在某些情况下调用BrowserWindow.center()窗口位置错误居中的问题。
  • 修复了Linux上升级后的崩溃问题。
  • 解决了在libnotify 0.8.x和portal环境下Notification::Close()崩溃的问题。
  • 解决了X11上窗口最大化时的崩溃问题。
  • 解决了当protocol.handle()异步处理传入数据时的数据损坏问题。
  • 解决了使用libc++编译时缺少<__assertion_handler>头文件的问题。
  • 解决了在渲染进程中调用nativeImage.createThumbnailFromPathshell.openExternal不解析的问题。
  • WebviewTag.webpreferences的类型修复回字符串。
  • 修复了通过Chrome DevTools协议使用Storage.{get|set|clear}Cookies的问题。
  • 改进了在使用Windows控制覆盖时Windows 11上标题按钮的外观。
  • BrowserWindow.focus()现在能在macOS上正确恢复非活动应用的焦点。
  • 解决了即使在BrowserWindow的关闭事件上设置了preventDefaultBrowserViewwebContents仍被销毁的问题。
  • 解决了某些情况下contentWindow.document.fonts.ready永远不会解析的问题。
  • 修复了在//shell_dialogs门户实现中选择多个文件/文件夹的问题。
  • 还有其他一些回溯修复和文档更改。


通知(Notices)

  • 停止对Electron 28.x.y系列的支持,鼓励开发者和应用升级至更高版本。

其他版本
最近更新软件·Linux 软件更新列表
Todoist [应用软件] Todoist 9.9.3 64位
昨天 23:19
Apifox [开发] Apifox 2.6.32 ARM64
11-21
Apifox [开发] Apifox 2.6.32 64位
11-21
腾讯文档 [应用软件] 腾讯文档 3.8.11 ARM64
11-21
腾讯文档 [应用软件] 腾讯文档 3.8.11 64位
11-21
小鱼易连 [网络] 小鱼易连 3.10.0.23021 ARM64/麒麟,鲲鹏
11-21
小鱼易连 [网络] 小鱼易连 3.10.0.23021 ARM64/麒麟,鲲鹏
11-21
Brave Browser [网络] Brave Browser 1.73.91 ARM64
11-21
Brave Browser [网络] Brave Browser 1.73.91 64位
11-21
Slack [应用软件] Slack 4.41.97 64位
11-21
新软件·Linux 新软件列表
Cursor [开发] Cursor 0.42.5 64位
11-20
VMware Workstation [系统工具] VMware Workstation 17.6.1 64位
11-19
微信 [网络] 微信 4.0.0 龙芯
11-11
微信 [网络] 微信 4.0.0 ARM64
11-11
微信 [网络] 微信 4.0.0 64位
11-11
Another Redis Desktop Manager [开发] Another Redis Desktop Manager 1.7.0 ARM64
11-10
115浏览器 [网络] 115浏览器 27.0.6.9 64位
11-09
Python 3.13 [开发] Python 3.13 3.13.0 64位
11-07
Python 3.12 [开发] Python 3.12 3.12.7 64位
11-07
Python 3.11 [开发] Python 3.11 3.11.10 64位
11-07