如何将JMVC(javascript-mvc)和服务器端MVC结合在一起

ncm*_*ncm 14 javascript php ajax html5 javascriptmvc

几天前我问过这个问题,没有人回答.
我也问了它,forum.javascriptMVC.com现在我有了答案,但是我需要更多的想法.

题:

I read javascriptMVC's documents and I loved it. 
But I don't know how to use it in a large scale project.
Run Code Online (Sandbox Code Playgroud)

我认为在服务器端需要一个MVC框架,或者可以提供很多帮助.我使用过服务器端PHP框架.

我很困惑,我JavascriptMVC项目的理解是,他们处理的浏览器捕捉事件客户端事件,执行AJAX请求,管理从服务器的响应/数据也显示他们对用户在图形界面.

我知道在PHP MVC项目中我们还有控制器(和操作),它们中的任何一个都是一个带有单个入口点的单独页面,我的观点是这些页面是完整的HTTP请求.

我认为这两个框架的组合将是一个形式单一几个重文件(包括JS,CSS,IMGS等)的负载和诸如steal.js由另一个JavaScript libary管理.现在,用户可以使用网站,并导致运行可能会在UI改变的东西或导致AJAX请求,如雅虎邮箱,其中大多数事情发生JS功能的操作(如事件)工作一个页面.

那么这将如何影响PHP中控制器和动作的设计?我的意思是通常在PHP MVC框架中,很多控制器和动作意味着很多页面.我认为,由于AJAX,控制器和动作的数量实际上应该更少.我还认为,由于JMVC,大多数控制器(和操作)应该转向AJAX响应器,但是在这种情况下如何处理布局和视图?

最后

  • 我想知道使用这种方法的不同方面(JMVC + MVC).(我使用Yii作为我的服务器端MVC框架,使用JavascriptMVC作为我的客户端MVC).
  • 我还想了解客户端数据的管理.
  • 我想了解如何使用AJAX和Web套接字,我们可以在哪里使用AJAX以及我们可以使用websockets的地方?
  • 我想了解本地存储如何将它用于模拟页面数据管理和缓存,我们如何以页面形式缓存来自服务器的数据作为JSON?我正在开展一个非常大的项目,我想建立自己的基础非常强大.

fre*_*rik 4

假设您编写了一个 JMVC 框架,其中

  • 该模型使用 AJAX 请求从服务器获取数据 - 期望 JSON 结果。
  • 该视图不依赖于服务器,只提供原始 HTML。
  • 控制器不依赖服务器,只提供 JS 文件。

本质上,您使用服务器“应该”用于数据存储和处理,同时让客户端浏览器处理所有繁琐的事情。

现在,让我们看看如何定义服务器端框架。在我看来,我们有几个选项,它们都非常相似,尽管有些不同(都以 JSON 格式返回一些内容):

  • 成熟的 MVC,例如 cakePHP
  • 定制实施
  • Web服务实现

就我个人而言,我会使用 WebService,而且我已经这样做了。或者更确切地说,我使用了基于 WebSocket 的 JSON-RPC WebService。使用成熟的 MVC 会在可维护性以及服务器负载方面存在一些缺点。但这是很有可能的,只需实现一个将页面格式设置为 JSON 的视图...

在我看来,制作 JMVC 客户端并不意味着它不能从服务器请求新的 HTML。但这确实意味着所请求的 HTML 应该不含数据,除了元数据之外,Java 视图需要知道将从 WebService 等接收到的数据放在哪里。

因此 JMVC 中的主页只能包含一个

<div id=content></div>
Run Code Online (Sandbox Code Playgroud)

单击菜单可以从服务器获取子页面并将内容加载到content. 然后,加载的内容可以包含更多 javascript,这些 javascript 启动 WebService 请求以从服务器获取数据,以显示在它依次包含的空位置文件夹中。