我是学习 MVC 的新手。
我想知道是否有启发式(非编程方式)来划分和决定前端而不是后端的逻辑,特别是在使用像backbone.js这样的前端库时。
也就是说,backbone.js 之类的库将数据与 DOM 元素分开,这对于创建复杂的客户端逻辑很有用,而这些逻辑可能曾经在服务器端执行。
提前感谢乔伊
我是学习 MVC 的新手。
我想知道是否有启发式(非编程方式)来划分和决定前端而不是后端的逻辑,特别是在使用像backbone.js这样的前端库时。
也就是说,backbone.js 之类的库将数据与 DOM 元素分开,这对于创建复杂的客户端逻辑很有用,而这些逻辑可能曾经在服务器端执行。
提前感谢乔伊
执行模型 - 视图 - 控制器的“经典”方式是将所有三个都放在服务器上。HTML 和一些 JS 的 View 层输出然后由浏览器渲染。
Rails 就是一个很好的例子。
“新酷”的方式是将浏览器作为主计算引擎,后端服务器services
通过 API 提供。
在这种情况下,模型、视图和控制器软件都在客户端上运行(作为 Javascript 或咖啡脚本)。Backbone 通常是浏览器端解决方案的一部分,但它也有替代方案,例如 spin、angularJS 等。
在后端服务器上,您运行 dbms 和良好的 API 系统。在 Ruby/Rack 上构建了一些很好的框架。请参阅 Daniel Doubrovkine 在code.dblock.org上的帖子您在这里有很多选择。
MVC 在客户端的优势
缺点
选择
由你决定。决定取决于您的时间框架、资源、经验、需求等。没有必要使用骨干或类似的东西。这样做是一种权衡(见上文)。不使用它总是会更快/更容易,但没有它(或类似的)可能无法实现您的目标。
您可以仅使用 Rails 或带有附加库或其他 MVC 解决方案的 PHP 构建出色的 MVC 应用程序。
我认为您在非编程意义上使用启发式这个词对吗?即你用它来表示“经验法则”的意思?
根据经验:
结论是模糊的,但真实的:这都是关于权衡的,你必须决定你的产品需要什么。
我首先想到的两件事是安全和搜索..