Я пытаюсь оборачивать голову тем, как работает Electron (ранее Atom Shell).
Я прихожу из традиционного веб-приложения в стиле MVC, где браузер вызывает действие контроллера через систему маршрутизации, затем контроллер извлекает данные из хранилища (Файловая система, База данных...) и отображает вид, который отправляется обратно в браузер. Некоторые действия могут отправлять JSON вместо этого, поскольку они вызываются через JavaScript/AJAX вместо того, чтобы браузер фактически переходил к ним.
Я хочу создать это, но как кросс-платформенное настольное приложение. Я знаю, что Atom Shell сочетает в себе как Chromium-Browser, так и Node.js/v8, но я не уверен, как они будут общаться.
Я предполагаю, что я мог бы запустить полный веб-сервер (в основном, некоторые Node.js HTTP Middleware, такие как Express), но это создает сетевое соединение, (что также может привести к отключению брандмауэров) - одна из причин, по которой я хочу создать настольное приложение, - это именно то, чтобы избежать запуска реального сервера. В принципе, как шаблон MVP/MVVM в обычном рабочем приложении.
Может кто-нибудь дать мне несколько отправных точек для того, что я пытаюсь сделать? Как браузер будет говорить со временем выполнения node ( "Клиент", как они его называют?), Чтобы сказать "Эй, возьмите мою запись с ID 12345" и вернет ли клиент визуализированный HTML или будет только браузер капли JSON назад и визуализировать его с помощью механизма шаблонов JavaScript?