Electron最新版是一款用于Github上的跨平台桌面应用开发工具,软件基于C++语言开发,可以用来web技术开发桌面应用开发,软件可以在Windows、Linux和Mac平台上使用,帮助程序师更好的设计软件,大量优质的功能支持桌面应用的开发使用等。有需要的朋友快来下载吧。
Electron 是一款可以利用 Web技术 开发跨平台桌面应用的框架,最初是 github 发布的 Atom 编辑器衍生出的 Atom Shell,后更名为 Electron。Electron 提供了一个能通过 javascript 和 HTML 创建桌面应用的平台,同时集成 Node 来授予网页访问底层系统的权限。目前常见的有 NW 、 heX 、 Electron ,可以打造桌面应用。
一、优点
1、它依赖于每一个Web开发者都已经熟知的Web标准,让你可以用它编写桌面软件。
2、它允许开发者专注于核心功能,它去负责软件开发中复杂的部分
3、它为桌面应用提供了多种核心功能,例如自动更新、崩溃报告、安装器创建工具和一些具体的系统功能
二、缺点
没有内置的MVC,无法完全支持Chrome平台。
1、采用electron-vue框架,并且把依赖升级到最新版本,例如webpack4等,直接写vue还是比较舒服的。
2、优化了多窗口的加载速率,以往打开一个窗口要加载html,css,js文件后还要解析vue渲染数据等等,所以弹窗打开速度很慢,现在采用路由跳转的方式,弹窗直接变为路由跳转,所以弹窗速度秒开。
3、实现了vuex的多窗口的数据同步问题,多个窗口同步store数据。
4、封装了窗口间的通讯,发送和接收信息简单方便。
5、制作了窗口转换的部分动画,效果上还可以。
6、页面框架已经搭建好,包括header,body,footer,可以按需引入。
7、制作了背景样式可以更换图片和背景色甚至字体颜色。
创建一个项目文件夹;
在CMD命令行窗口中,进入该项目文件夹,通过npm init命令创建Electron应用所需的package.json文件;
在项目文件夹下,通过npm install –save-dev electron-prebuilt命令安装项目所需的Electron环境;
在vscode中创建启动 JS 脚本文件;
在VSCode中创建一个入口HTML页面;
运行该项目,查看效果;
将项目的运行命令与VSCode编辑器整合。
配置调试环境
重大变化
将默认设置crashReporter.start({ compress })从更改false为true。
将的默认值更改contextIsolation为true。
将默认值更改worldSafeExecuteJavaScript为true。
不推荐使用该remote模块。替换为@electron/remote。
特征
新增
添加了API以启用/禁用拼写检查器。
添加了串行API支持。
添加了BrowserWindow.isTabletModeAPI。
添加displayFrequency到Display对象中以允许获取有关Windows刷新率的信息。
添加了event.senderFrame返回webFrameMainIPC消息来源的属性。
添加exitCode到render-process-gone详细信息。
向webRequest处理程序中的details对象添加了frame和webContents属性。
添加了net.online用于检测当前是否存在互联网连接的功能。
在中添加了osProcessId/name属性webFrameMain。
已添加powerMonitor.onBatteryPower。
添加session.setSSLConfig()以允许配置SSL。
添加了webFrameMain.send()/ webFrameMain.postMessage()。
添加了webFrameMain用于WebContents从主进程访问实例的子帧的API 。
添加webPreferences.preferredSizeMode以允许根据文档的最小大小调整视图的大小。
为添加了一个disabledCipherSuites选项Session.setSSLConfig。
为添加了新credentials选项net.request()。
添加了新的异步shell.trashItem()API,以替换了sync shell.moveItemToTrash()。
为添加了display-captureAPI session.setPermissionRequestHandler。
添加了丢失的内容webFrameMain.executeJavaScriptInIsolatedWorld()。
将非本地化添加serviceName到'child-process-gone'/ app.getAppMetrics()。
在快捷方式中添加了对Toast Activator CLSID的读/写支持。
setWindowOpenHandler为渲染器创建的子窗口添加了API,并弃用了new-window事件。
向拼写器添加了拼写检查API。
增加了明确指定支持direct,auto_detect或system在模式session.setProxy()。
添加了对显示macOS共享菜单的支持。
在macOS上的powerMonitor中添加了快速用户切换事件。
添加extension-loaded,extension-unloaded和extension-ready事件Session。
允许ContextBridgeexposeInMainWorld方法公开非对象API。
允许在中设置origin标题和sec-fetch-*标题net.request()。
已实现的电子熔断器,用于在封装时自定义某些电子功能。
现在launchInfo,app事件的theready填充有UNNotificationResponse通过UNUserNotificationCenter(在本机节点模块中)提供的通知启动应用程序时的信息。
也在早期版本中...
allowFileAccess向loadExtension()API添加了选项。(也在11中)
已添加,win.setTopBrowserView()因此BrowserView可以提高。(同样在10,11)
添加了对某些chrome.managementAPI的支持。(同样在9,10,11)
取得win.setAspectRatio()在Windows工作。(也在11中)
改进措施
在Windows上实现自定义Toast XML通知
在Window上添加了通知失败报告。
改进了Windows上的暗模式支持。(同样在10,11)
删除/不推荐使用
不推荐使用该remote模块。替换为@electron/remote。
删除了不推荐使用的crashReporterAPI。
从打包应用程序的默认“帮助”菜单中删除了到Electron网站的链接。
删除了阻止Mac App Store发行的私有API使用。(也在11中)
删除了desktopCapturer.getMediaSourceIdForWebContents()API。(也在11中)
修正
请求CAMERA_PAN_TILT_ZOOM权限的应用程序将使用权限字符串“ media”(而不是“ font-access”)来调用权限请求处理程序。
向后移植了crbug.com/1125165的修复程序。
BrowserWindow.fromWebContents()现在可以WebContents在BrowserView或Web视图中返回准确的结果。
vm在渲染器过程中不建议使用该模块。
启用了对新的Chromium实验性PDF查看器用户界面的支持。
修复了窗口中BrowserWindow.fromBrowserView有多个时引发错误的问题BrowserView。
修复了PDF查看器无法加载资源的问题。
修复了无法在PDF查看器中加载的PDF。
修复ses.setCertificateVerifyProc了不相关会话中的取消请求。
修复了加载app.allowRendererProcessReuse启用了非上下文感知的模块时渲染器进程崩溃的问题。
修复了crypto.createDiffieHellman()使用某些参数调用时崩溃的问题。
修复了销毁事件WebContents期间可能发生的释放后使用错误did-stop-loading。
修复了在will-download拦截请求后下载文件时文件长度不可用的问题。
修复了在IsMaximizedWindows上某些窗口会错误地返回false的问题。
修复了启用contextIsolation时webview元素上的事件缺少属性的问题。
修复了net.request即使消耗流受到限制仍会继续下载数据的问题。
修复了返回的缓冲区NativeImage.getBitmap()可能指向释放的内存的问题。
修复了titleBarStyle: hiddenInsetmacOS上Windows缺少缩放按钮的问题。
修复了WebContents.mainFrame有时会返回的错误undefined。
修复了使用Web Serial API后退出Electron时崩溃的问题。
修复了协议模块中写入失败时的错误处理。
修复了重定向(拦截请求)期间的间歇性访问冲突。
修复了主进程的控制台输出无法在Windows上打印到devtools的问题。
修复了在Windows和Linux上无法单击的菜单栏。
修复了PDF查看器中缺少的演示模式选项。
修复了在Electron中使用navigator.setAppBadge和的navigator.clearAppBadge问题。
修复了webRequest模块无法识别Content-Disposition标头中文件名的编码的问题。
固定窗口,customButtonsOnHover选项在macOS上没有圆角。
修复chrome.runtime.getPlatformInfo了调用后使后台进程崩溃的问题。
向后移植了crbug.com/952922的修复程序。
修复了ECDH.setPrivateKey()不更新密钥的问题。
修复了启用contextIsolation和nativeWindowOpen时window.open()不会返回带有location.href setter的对象的问题。
固定了electronic.net实现中的竞争条件。
更新了内部内存分配逻辑,以便您不再需要com.apple.security.cs.allow-unsigned-executable-memory在macOS上使用codesign授权。
将ICU时区数据库更新为最新的2020f版本。
也在早期版本中。
libGLESv2.dll向符号服务器添加了电子DLL之类的东西。(同样在9,10,11)
已将默认的蓝牙权限字符串添加到中info.plist。(也在11中)
BrowserView可以在Windows中正确调整大小。(同样在9,10,11)
修复了“屏幕”方法可以重新分配的问题。(也在11中)
修复了unsafe-eval带有受信任类型检测的CSP 。(同样在9,10,11)
GdiTextPrinting与静默打印一起使用时已修复。(同样在9,10,11)
修复了macOS上的操作系统级快捷方式(例如Ctrl + F2,?+?)。 (也在11中)
修复了<webview>无法使用“受信任的类型”的问题。 (同样在9,10,11)
修复LC_ALL了在Electron中更改环境变量的问题。(同样在9,10,11)
修复了contentTracing.stopRecording()没有正在进行的跟踪时不拒绝的问题。(也在11中)
固定protocol方法无法通过访问remote.protocol。(也在11中)
修复了readdir/ readdirSync(w / withFileTypes)在存档内的深层目录上失败的问题。(同样在10,11)
固定screen方法无法通过访问remote.screen。(也在11中)
固定systemPreferences.effectiveAppearance返回systemPreferences.getAppLevelAppearance()。(同样在9,10,11)
修复了打印时出现的崩溃。(也在11中)
修复了使用远程模块时在退出应用程序时可能发生的崩溃。(也在11中)
修复了webContents.fromId使用未知ID拨打电话时崩溃的问题。(也在11中)
修复的内存泄漏desktopCapturer.getSources。(同样在9,10,11)
修复了创建时的内存泄漏BrowserWindows。(也在11中)
修复了打开DevTools时出现的Uncaught TypeError问题。(同样在10,11)
修复了显示错误的enableBlinkFeaturesWeb视图警告,该警告未启用闪烁功能。(同样在10,11)
修复了GTK中的消息框不包含任何按钮的问题。(同样在10,11)
修复了BrowserView无法有效重设s的问题。(也在11中)
修复了SIGINT在Node.js进程中未正确处理的问题。(同样在10,11)
修复了Save as PDF从“ PDF查看器”的“打印”对话框失败并有时崩溃的问题。(同样在9,10,11)
修复了event.reply存在跨站点iframe时有时无法传递对IPC消息的答复的问题。(同样在9,10,11)
修复了有时会由操作系统重新创建已删除的下载目录的问题。(同样在10,11)
修复了BrowserViewWindows上可拖动区域不适用于s的问题。(同样在10,11)
修复了其中的可拖动区域BrowserWindow导致BrowserView在非对应位置变为可拖动区域的问题。(同样在10,11)
修复了BrowserViews上不可拖动区域的边界计算不正确的问题。(同样在10,11)
修复了contextIsolation启用时渲染器进程堆栈跟踪中断的问题。(也在11中)
修复async_hooks了渲染器过程中出现错误后某些对象无法正确发出的问题。(也在11中)
修复了启用了可拖动区域的某些BrowserView中某些按钮无法单击的问题。(同样在9,10,11)
修复了将某些可拖动区域加载到Windows上的BrowserViews中时无法单击的问题。(同样在10,11)
修复了remote.screen EventEmitter在渲染器中未定义方法的问题。(也在11中)
修复了与Windows相关的Windows偶尔崩溃的问题NativeViewHost::SetParentAccessible。(同样在9,10,11)
修复了BrowserView连续渲染s时偶尔出现的白色闪烁。(同样在10,11)
修复了remote删除所有引用后不会释放通过模块传递的回调的问题。(也在11中)
修复了browserWindow.close()在Windows上调用之前立即发生键盘事件时崩溃的问题。(同样在10,11)
修复了WebContents在crashed事件中破坏时崩溃的问题。(同样在10,11)
修复了扩展加载失败时崩溃的问题。(同样在10,11)
修复了检测登录项启动的问题
修复了由TaskManager设置的启用状态检测。(也在11中)
同类推荐
2022-09-18
立即下载2022-09-14
立即下载2022-09-14
立即下载2022-09-14
立即下载2022-09-14
立即下载2022-09-14
立即下载