Electron.js i procesy

0

Witam,
trochę się bawię electronem(.js) i zastanawiam się nad podziałem logiki aplikacji między procesami.

Moja pierwsza myśl po przeczytaniu dokumentacji i różnych źródeł to zrobić sobie taki podział jak przy aplikacjach webowych - backend (main process) i frontend (render process). Takie rozwiązanie nawet dobrze się sprawdzało, ale przy "cięższych" zadaniach (operacje na bazie, liczenie, I/O) było widać lekką przycinkę.
Wyczytałem wtedy, że procesu głównego (main process) też nie można blokować. Zastanawiam się co w takiej sytuacji zrobić. Czy nie najlepszym rozwiązaniem byłoby odpalenie w osobnym procesie jakiegoś serwer HTTP czy Websocketów? Można byłoby skorzystać z gotowych i sprawdzonych rozwiązań takich jak np. express czy inne podobne (a nawet zrobić backend w innym języku np. w springu i dodać jar, którego uruchomię przy starcie aplikacji). Co o tym myślicie? Jakieś inne pomysły?

0

Czy nie najlepszym rozwiązaniem byłoby odpalenie w osobnym procesie jakiegoś serwer HTTP czy Websocketów?

Ludzie tak robią czasem, ale pamiętaj, że takie rozwiązanie ma trzy duże wady:

  • dodajesz narzut całego stosu sieciowego,
  • musisz zadbać o bezpieczeństwo takiego rozwiązania - tworzysz publiczny port dostępny z każdego miejsca na komputerze użytkownika (także dla ładowanych przez niego stron i innych aplikacji przez niego używanych),
  • część użytkowników może mieć tak ustawionego firewalla, że apka nie ruszy

1 użytkowników online, w tym zalogowanych: 0, gości: 1