瞎扯淡 用 WebSocket 把前端的 View Model 双向绑定到后端,将 Web App 做成持久会话如何?

cichol · September 09, 2015 · Last by crazyjin replied at September 14, 2015 · 2597 hits

前端用 MVVM 框架监听和呈现变化,VM 的变化通过 websocket 同步到 Ruby 后端的 VM,反之也将后端的变化同步到前端。

Ruby 维护数据的逻辑,Js 维护界面的逻辑,前后的接口就由框架去维护,保证兼容就可以了。

其实这本身只是 API 的包装,不过重点是可以抛弃掉 HTTP 的 请求/响应 机制,因为这实在是太费事了。。信息传递必须通过一次一次的请求,而每次会话都需要初始化。

当然这种东西不会适合普通的网站,但是对于一些动态性高的管理界面的制作应该很有用,其实传统 GUI 程序本来就是这样的嘛。

实现的话我想只要给每个会话分配一片 eval 的空间就可以了,程序在其中执行,过时的会话进行序列化储存或者销毁掉,这样来提供多用户的支持。

双向绑定的话我已经实践过了,还是很不错的诶。

https://github.com/voltrb/volt

楼主可以写个 demo 然后做分享。

楼主为嘛不去看看 elixir 的 phoenix

#3 楼 @crazyjin 还真不知道,phoneix 我以为和 rails 差不多的,不过 volt 已经很棒了

#4 楼 @cicholgricenchos 试试这个,基于 web 的聊天,消息发送和接收是软实时的: http://phoenixchat.herokuapp.com/

You need to Sign in before reply, if you don't have an account, please Sign up first.