使用flux架构模式与服务器 - 客户端应用程序

时间:2015-05-17 06:22:56

标签: client-server flux electron

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

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

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

在渲染器进程的上下文中使用“First Responder”/“Delegate”会感到奇怪。

1 个答案:

答案 0 :(得分:0)

啊,更多的阅读帮助我解决了问题。 Flux主要是客户端应用程序模式。

下图说明了典型的用例,以及服务器及其关联状态与客户端Flux逻辑的关系。

Flux TODO-list architecture

换句话说,客户端上的Flux无法解决在web-api端管理状态和组件的问题。对于与服务器端代码紧密耦合的客户端应用程序(如电子应用程序,iPython笔记本,NW.js应用程序),在UI线程中实现类似于Cocoa的委托模式的调度程序可能是有意义的。