jsmvc库,如spine, backbone, jsmvc如何集成到一个基于服务器的mvc框架,如锂或zend

How do js mvc libraries like spine, backbone, jsmvc integrate into a Server based MVC framework like lithium or zend?

本文关键字:jsmvc 服务器 框架 zend mvc backbone spine 何集成 集成 一个      更新时间:2023-09-26

我的具体问题是我想要参考文献的链接,这样我就可以学习/研究问题标题,而不是引发关于功能或哪个更好的争论。我已经找到了jsMVC、spine和EJS,但不熟悉它们在MVC模式中的位置。它们不就是视图本身吗,因为它们处理渲染?那么,这是否意味着客户端MVC就像服务器MVC的V的子模式?提供这些客户端库如何在传统的服务器端框架中工作的背景和理论的链接将会很有帮助。

谢谢!

当我写这篇文章的时候,我读了这个答案,这种类型的答案很有帮助,更喜欢它与参考链接将是伟大的

客户端MVC可以处理整个MVC栈。如果你同时使用服务器端和客户端MVC,那么你会复制你的模型和路由。

客户端MVC基本上允许您将服务器和客户端连接在一起。服务器为什么要发送视图?为什么不将模型作为json发送,并将其加载到客户端模型中,让客户端呈现该视图呢?

你甚至可以在路由上更进一步。为什么路由由服务器处理?客户端可以这样做。只要允许客户端访问你的RESTful数据库,你不需要任何服务器端MVC。

当然,如果你想支持非javascript,那么你需要服务器端MVC。

我个人使用重客户机/重服务器设置。我将整个服务器端mvc用于第一个页面加载。从那时起,客户端升级到只使用客户端MVC,如果它可以使用javascript。如果不能,它将继续使用服务器端MVC。

有了SSJS,这样你的模型、集合和视图是一个共享的代码库,只在一个地方维护,这种开发变得容易得多。

在处理依赖于ajax的大型应用程序时,使用客户端MVC框架对于代码组织非常有用。考虑一个客户端模型层,它始终与面向服务的体系结构中各个应用程序提供的一个或多个服务进行通信。各个服务提供者可以用MVC来实现他们的服务,也可以不用,但是使用客户端模型来消费这些数据是有好处的。

还要记住,Javascript框架——无论是jQuery、Mootools还是Node.js——都将实现一个事件驱动的控制工作流,其中单个事件可以触发回调,然后级联到其他回调。通常在服务器端,至少在涉及HTTP请求-响应周期的地方,我们希望创建离散的原子任务,生成快速且可预测的响应,并可能触发或排队服务器上的其他异步事件,因为响应阻止用户发出另一个请求并继续其工作流。对于客户端Javascript则不是这样。

当你已经在服务器端使用MVC框架时,在堆栈中添加一个完整的客户端MVC可能是多余的,并且可能导致重复的工作。这是可以正确完成的。将服务器端代码专门化为访问控制和CRUD操作,返回JSON而不是HTML视图。使用轻量级模型将您的客户端代码专门化到视图处理和事件处理中,期望使用常规的rest路由实现JSON数据存储。使用它们的优点,以获得最大的里程。