met*_*ate 3 oop models node.js backbone.js
我是nodejs的新手,但我很高兴客户端和服务器之间存在共同语言和习惯用语的可能性.
有没有人知道nodejs框架为我们在带有backbonejs的客户端上使用的模型提供相同的OO习语和类功能?我发现在主干模型和集合之间切换以及在节点中手动滚动javascript类是很不耐烦的.
控制器被发射器和回调取代,当然没有视图,但我是否想要为模型客户端和服务器端提供一致的OO范例?我是否应该使用与数据库无关的OOP来实现Redis等目标?
如果这个问题对于SE来说太模糊,请随意关闭我.
在使用Backbone.js时,您应该在客户端上拥有一堆模型,这些模型从服务器获取并通过REST api(CRUD)更新到服务器.客户端负责MVC,服务器只回答一堆简单的查询,删除和更新.
这意味着客户端可能包含以下代码:
该服务器将拥有:
那么...应该在客户端和服务器之间共享什么代码?一些工具,也许是模型....(虽然我认为模型代码不应该共享)
基本上虽然我们(开发人员)都对在客户端和服务器之间共享代码感到兴奋,但用例和角色与职责实际上并不需要这种耦合.(至少那是发生在我身上的事)
顺便说一下,有一些例外情况,你想在服务器上实现相同的MVC以实现快速渲染和搜索引擎合规性,airBnb正在通过骨干和节点来实现这一点.一旦稳定API,他们就会在那里开源解决方案
编辑:
根据我的经验,Backbone Models是非常简单的仅数据对象(以及一些验证代码).观众观察并改变它们,因此大部分代码都在那里.我认为在这种情况下,将代码从服务器解耦到客户端是一个很好的设计决策,它允许您在不更改客户端的情况下使用数据库模式.
但当然这在其他用例中会有所不同......
关于你的实际问题:
您可以查看airBnB项目Rendr:(https://github.com/airbnb/rendr)
Rendr是Airbnb的一个小型库,允许您在客户端和服务器上无缝运行Backbone.js应用程序.允许您的Web服务器将完整格式的HTML页面提供给应用程序的任何深层链接,同时保留传统Backbone.js客户端MVC应用程序的快速感觉.
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |