0

我正在尝试使用 Github 的Electron Framework构建一个桌面应用程序,它将“主”io.js 进程与“渲染”JS 进程(BrowserWindow)分开。我认为“主要”/“渲染器”进程类似于服务器和客户端(如果这有误,请告诉我)。

我对如何在这种情况下应用 Flux 模式感到困惑。与 UI 的一些交互不需要向主进程发送数据(即TODO-list 示例

1)这是否意味着 Dispatcher 对象应该驻留在渲染器进程中?2) 假设主进程接收到来自文件系统的传入事件/动作。要更新调度程序,主进程是否必须实现一个 ActionCreator 来创建一个动作,然后通过 IPC/RPC 将动作发送到渲染器/客户端进程上的调度程序?3)如果(2)为真,这是否意味着动作创建者和存储也在主/服务器端实现?

在渲染器进程的上下文中拥有“First Responder”/“Delegate”感觉很奇怪。

4

1 回答 1

1

啊,更多的阅读帮助我弄清楚了。Flux 主要是一种客户端应用程序模式。

下图说明了典型用例,以及服务器及其关联状态如何与客户端 Flux 逻辑断开连接。

Flux TODO 列表架构

也就是说,客户端的 Flux 并没有解决 web-api 端管理状态和组件的问题。对于与服务器端代码紧密耦合的客户端应用程序(如 Electron 应用程序、iPython notebook、NW.js 应用程序),在 UI 线程中实现类似于 Cocoa 的委托模式的调度程序可能是有意义的。

于 2015-05-17T06:49:01.667 回答