Electron团队最近发布了Electron 3。最新版本包括很多增强和改进,支持读取海量文件,更好的应用程序管理API以及日志和性能测量功能。
与很多现代软件项目一样,Electron努力发布更多的常规版本,版本之间少一些重大变更。在2.0.0和3.0.0版本之间仅隔了四个月,版本4的beta版本已经在开发当中,Electron旨在为通过Node.js、Chrome和其他现代Web开发API构建桌面应用程序提供快速稳定和改进的平台。
Electron 3的主要依赖更新为Chrome 66.0.3359.181、Node.js 10.2.0和V8 6.6.346.23。
Electron面临的挑战之一是如何区分开发和生产应用。在打包生产版本的应用程序时,新的app.isPackaged属性将返回一个布尔值。
Electron早期版本面临的另一个挑战是如何确定应用程序是否准备就绪。app.isReady()检查Electron是否准备就绪,app.on(‘ready’)用于通知应用程序已准备就绪。创建可以随时调用的源代码需要先检查app.isReady(),如果为false,则订阅app.on(‘ready’)事件。新的app.whenReady()函数通过返回一个promise来封装这个序列,这个promise在Electron初始化完毕之后完成。
为了提供更多性能分析信息,新的process.getHeapStatistics()API返回V8 JavaScript引擎提供的堆测量。此外,新的netLog API提供动态日志记录控制。net.startLogging(filename)和net.stopLogging([callback])用于控制网络日志记录的开始和结束。
随着Electron 3的发布,文件系统访问也得到了改进。fs.readSync现在支持加载大量文件。对文件系统路径的改进包括Node.js文件系统包装器,可以在Electron应用程序中使用fs.realpathSync.native和fs.realpath.native。新的TextField和Button API是添加标准用户界面控件的更大计划的一部分。
Electron 3还改进了用户体验API。win.moveTop()可以将窗口顺着z-order移动到顶部,不会改变用户的输入焦点,以防止意外中断用户。
Electron 3发布公告中提供了Electron 3重大变更和错误修复的完整列表。
Electron 4将带来很多改进,可以通过Electron版本摘要查看进度。Electron将继续改进其强大的平台,与其他Web技术一起构建桌面应用程序。
Electron还提供了一个App反馈计划,开发人员可以在测试版发布期间进行早期测试并提供反馈。对于3.0版本的发布,Electron团队要感谢Atlassian、Atom、微软团队、Oculus、OpenFin、Slack、Symphony、VS Code和其他计划成员的帮助。
Electron基于MIT开源许可发行。开发者可以通过Electron GitHub组织参与贡献,并遵循Electron的贡献指南和行为准则。