无后台开发方式流程
我看了meteor有一些设想,
我希望使用php实现meteor的效果功能,下面是我对meteor的一些猜想
比如说 100个人访问一个页面,如果有人对页面修改了,那么那100个人除非刷新页面否则不会看到最新的数据
而meteor可以。
我希望能有一个技术,用户在编辑界面的同时就可以直接的操作数据库,而不再需要后台对应每一个操作写一个接口,
我想应该是这样的
有三个东西
浏览器的客户端 , redis , mysql
比如说数据的形式是用户的信息,name,age,sex
这条信息原本是存放在mysql的
现在将它作为一个json的字符串存在redis当中
浏览器访问页面时,将这个redis内容的数据给浏览器进行展示,同时建立websocket链接,
当浏览器对数据进行编辑时,直接将编辑好的新数据json化更新到redis,
这个时候服务器向所有的浏览器客户端(因为已经建立的websocket链接)发送信息,说数据更新了,
这个时候所有的浏览器自己重新更新一下
同时,服务器将这个信息的数据同步更新到mysql中永久保存
技术条件:
1. 浏览器上的dom节点和数据的绑定可以使用angular,只需要更新angular的数据,界面就自动更新
2.javascript直接操作后台(这里可以用
Hrpose
, javascript调用php的函数)
3.websocket的建立(swoole已经有了这个相关功能)
我不清楚meteor是不是我所设想的这种模式,
我好奇想知道
- redis作为中间层,如何设计数据的存储形式,以便于前后端进行数据更新呢?
- 当数据发生了更新,php程序如何设计来适应同步更新到对应的表和记录(因为我希望一套程序就能满足同步所有表的内容,而不是每一张表还需要单独写)
- 这种轻后台的开发方式能提升当前的开发进度吗?
Answers
请问meteor如何进行前后端的数据同步呢?
meteor使用一个名为分布式数据协议 (Distributed Data Protocol, DDP) 的协议来处理实时通信,使用 WebSockets 的新浏览器以及使用 Asynchronous JavaScript + XML (Ajax) 长轮询的旧浏览器来支持这种协议。
用户在编辑界面的同时就可以直接的操作数据库,而不再需要后台对应每一个操作写一个接口.
这个需求很奇怪, 而且前台是无法直接操作数据库的. 如果不想要后台对应每一个操作写一个接口. 那就用ORM吧.
javascript直接操作后台(这里可以用Hrpose , javascript调用php的函数)
这个不就是操作后台吗? 题主到底要什么能不能总结一下语言.