Qual é o modelo de cliente / servidor ao usar o Electron (Atom Shell)?

Estou tentando entender comoElétron (anteriormente Atom Shell) funciona.

Eu venho de um aplicativo Web tradicional, no estilo MVC, em que um Navegador está chamando umAção do Controlador através de umSistema de roteamento, o Controlador buscará dados de uma loja (Sistema de Arquivos, Banco de Dados, ...) e renderizará umVisão, que é enviado de volta ao navegador. Algumas ações podem estar retornando JSON, pois elas são chamadas por meio de JavaScript / AJAX, em vez de o navegador realmente navegar para elas.

Eu quero criar isso, mas como um aplicativo de desktop de plataforma cruzada. Eu sei que o Atom Shell combina um navegador Chromium e um tempo de execução Node.js./v8, mas não tenho certeza de como eles se comunicariam.

Eu acho que eu poderia rodar um servidor web completo (basicamente, alguns Node.js HTTP Middleware comoExpressar), mas isso cria um servidor acessível pela rede (que também pode ativar firewalls) - um dos motivos pelos quais desejo criar um aplicativo de desktop é justamente evitar a execução de um servidor real. Basicamente, como o padrão MVP / MVVM em um aplicativo de desktop "normal".

Alguém pode me dar alguns pontos de partida para o que estou tentando fazer? Como o navegador falaria com o tempo de execução do nó (o "Cliente", como eles chamam?) Para dizer "Ei, busque meu registro com o ID 12345" e o Cliente retornaria HTML renderizado ou o navegador obteria apenas um blob do JSON de volta e processá-lo por meio de um mecanismo de modelagem JavaScript?

questionAnswers(2)

yourAnswerToTheQuestion