Должен ли я использовать отдельные файлы javascript или только один большой файл в приложении Electron для настольных ПК? - PullRequest
0 голосов
/ 18 февраля 2019

Я использую Electron с простым javascript для создания одностраничного настольного приложения, это инструмент ведения журнала, который будет получать данные временных рядов через сокет из локальной программы (например, бэкэнда, но не удаленного веб-бэкенда, поэтому яне думайте, что пропускная способность будет проблемой), и используйте библиотеку диаграмм javascript для представления данных с высокой скоростью.

Основной поток данных выглядит следующим образом: socket-> array-> draw charts socket->другие команды обновления пользовательского интерфейса

Несмотря на то, что это одностраничное приложение, оно имеет много компонентов, поэтому размещение всех кодов в одном файле затрудняет расширение или сопровождение проекта, и мне интересно, стоит ли использовать способ ООП дляразделите коды на несколько файлов javascript, как мы обычно делаем в C #.Но я понятия не имею, является ли это хорошей практикой или нет, повлечет ли это значительное снижение производительности?То же самое касается использования TypeScript, я чувствую, что использую его вместо простого javascript, но не уверен, что это замедлит работу приложения.

Еще один вопрос, например, я использую jQuery для доступа к Dom,$chartDiv = $('#chartDiv'), по сравнению с document.getElementById(), накладные расходы на использование первого происходят только в первый раз, или это происходит каждый раз, когда я использую $chartDiv?

1 Ответ

0 голосов
/ 18 февраля 2019

Чтобы ответить на большинство ваших вопросов: делайте то, что делает код лучше, а не «быстрее».Если вы серьезно обеспокоены производительностью, вы будете писать свое приложение на C или сборке.Electron сам по себе уже вызывает значительное замедление - это браузер, работающий на интерпретируемом языке, оценивающий CSS и HTML, что вы ожидали?

Вся причина таких вещей, как Electron, в том, что она облегчает разработку,в частности, для людей, которые уже знакомы с веб-технологиями.

Итак:

  • Да, разбейте свое приложение на файлы.Могут быть некоторые издержки, если вы не используете транспортер / углификатор, но это относительно крошечный и должен произойти только во время загрузки приложения.
  • Да, используйте TypeScript.Это транспонированный язык, который только добавляет безопасность типов в ваш код во время компиляции - дополнительная информация удаляется после компиляции, создавая «vanilla JS».
  • Если вы выполняете много манипуляций с DOM и вызнакомы с JQuery, а затем идти вперед.В современных браузерах (включая Electron) вам не нужно беспокоиться о том, что различные функции не работают, поэтому большинство манипуляций с DOM, которые вам нужны, это тривиально без jQuery .Тем не менее, это снова относительно небольшое замедление.И el = $('some selector') производит большую часть «замедления» только один раз.

Еще одна вещь - если вы серьезно обеспокоены своей эффективностью (лично я сомневаюсь, что это будет проблемой), тогда ваша лучшая ставкаэто профилировать ваше приложение!Запускайте тесты с различными реализациями, смотрите, какие из них быстрее, измеряйте прирост производительности.Но имейте в виду:

Мы должны забыть о малой эффективности, скажем, в 97% случаев: преждевременная оптимизация - корень всего зла.И все же мы не должны упускать наши возможности в эти критические 3%

- Дональд Кнут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...