最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

我应该在Electron桌面应用程序中使用单独的javascript文件还是只使用一个大文件?

运维笔记admin14浏览0评论

我应该在Electron桌面应用程序中使用单独的javascript文件还是只使用一个大文件?

我应该在Electron桌面应用程序中使用单独的javascript文件还是只使用一个大文件?

我正在使用带有普通javascript的Electron制作单页桌面应用程序,它是一个日志工具,它将通过套接字从本地程序(如后端,但不是远程Web后端,因此我不接收)接收时间序列数据认为带宽将是问题),并使用javascript图表库来高速呈现数据。

主要数据流如下:socket-> array-> draw charts socket->其他UI更新命令

虽然这是一个单页应用程序,但它有很多组件,所以将所有代码放在一个文件中会使项目难以扩展或维护,我想知道是否应该使用OOP方法将代码分成多个javascript文件,比如什么我们通常用C#做。但我不知道这是否是一个好的做法,是否会产生显着的性能开销?同样关注TypeScript的使用,我觉得使用它而不是简单的javascript,但不确定它是否会减慢应用程序。

还有一个问题,我使用jQuery访问Dom,例如$chartDiv = $('#chartDiv'),与document.getElementById()相比,使用前者的开销是否只是在第一次发生,或者每次我使用$chartDiv时都会发生?

回答如下:

回答你的大多数问题:做什么使代码更好,而不是“更快”。如果您对性能非常关注,那么您将使用C或汇编编写应用程序。电子本身已经导致了很多减速 - 它是一个运行解释语言的浏览器,评估CSS和HTML,你期望什么?

像Electron这样的东西的全部原因是因为它使开发更容易,特别是对于已经熟悉Web技术的人。

所以:

  • 是的,将您的应用分成文件。如果你不使用transpiler / uglifier,可能会有一些开销,但这相对很小,只需要在应用程序加载时发生。
  • 是的,使用TypeScript。它是一种转换语言,只在编译时为您的代码添加类型安全性 - 编译后删除附加信息,生成“vanilla JS”。
  • 如果您正在进行大量的DOM操作并且熟悉jQuery,那么请继续。在现代浏览器(包括Electron)中,你不必真正关心各种不起作用的功能,所以你想要的大多数DOM操作都是trivial without jQuery。尽管如此,它再次是一个相对微小的放缓。而el = $('some selector')只产生了一次“减速”。

还有一件事 - 如果你严重关注你的表现(我个人怀疑这将是一个问题),那么你最好的选择是描述你的应用!使用不同的实现运行测试,看哪个更快,量化性能加速。但请记住:

我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源。然而,我们不应该在那个关键的3%中放弃我们的机会

- 唐纳德克努特

发布评论

评论列表(0)

  1. 暂无评论