我试图围绕Electron(以前的Atom Shell)如何工作.
我来自传统的MVC风格的Web应用程序,其中浏览器通过路由系统调用Controller Action,然后Controller从商店(文件系统,数据库......)获取数据并呈现视图,将其发送回浏览器.有些动作可能会发送回JSON,因为它们是通过JavaScript/AJAX调用的,而不是实际导航到它们的浏览器.
我想创建它,但作为跨平台桌面应用程序.我知道Atom Shell结合了Chromium-Browser和Node.js/v8运行时,但我不确定它们将如何通信.
我想我可以运行一个完整的Web服务器(基本上,一些Node.js HTTP中间件,如Express),但这会创建一个网络可达的服务器(也可能会破坏防火墙) - 我想制作一个桌面的原因之一应用程序正是为了避免运行真正的服务器.基本上像"普通"桌面应用程序中的MVP/MVVM模式.
对于我正在尝试做的事情,有人能给我一些起点吗?浏览器如何与节点运行时(他们称之为"客户端"?)进行通信,告诉它"嘿,用ID 12345获取我的记录",客户端是否会返回呈现的HTML,或浏览器是否会得到一个blob JSON回来并通过JavaScript模板引擎呈现它?