我正在使用Electron和普通的javascript制作一个单页桌面应用程序,它是一个日志记录工具,它将通过套接字从本地程序(例如后端,而不是远程Web后端)通过套接字接收时间序列数据,所以我(不要认为带宽会成为问题),并使用javascript图表库以高速呈现数据。
主要数据流如下: 套接字->数组->绘制图表 socket->其他UI更新命令
尽管这是一个单页面的应用程序,但它具有许多组件,因此将所有代码放入一个文件中会使项目难以扩展或维护,我想知道是否应该使用OOP方式将代码分成多个javascript文件,就像我们通常在C#中所做的一样。但是我不知道这是否是一个好习惯,会招致巨大的性能开销吗?对TypeScript的使用也存在同样的担忧,我想使用它而不是普通的javascript,但不确定是否会降低应用程序的速度。
还有一个问题,我使用jQuery访问Dom,例如,$chartDiv = $('#chartDiv')
与document.getElementById()
相比,使用前者的开销是第一次发生还是每次都发生?我使用$chartDiv
吗?
答案 0 :(得分:4)
回答您的大多数问题:做什么使代码更好,而不是“更快”。如果您非常担心性能,则可以使用C或汇编语言编写应用程序。单独的Electron已经引起了很多减速–它是运行解释语言,评估CSS和HTML的浏览器,您期望什么?
诸如Electron之类的东西的全部原因是因为它使开发变得更容易,特别是对于已经熟悉Web技术的人。
所以:
el = $('some selector')
仅产生一次大多数“减速”。还有一件事–如果您严重担心自己的表现(个人认为这会成为问题),那么最好的选择就是分析您的应用程序!使用不同的实施方案运行测试,看看哪个更快,量化性能提升。但请记住:
我们应该忘记效率低下的问题,例如大约97%的时间:过早的优化是万恶之源。但是我们不应该放弃那关键的3%的机会
–唐纳德·克努斯(Donald Knuth)