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