Javascript Web应用程序体系结构:在浏览器中使用服务器作为数据和模板的存储库实现MVC
使用以下体系结构实现web应用程序的优缺点是什么: 简单的服务器,只提供数据的JSON响应和HTML以及要在客户机中呈现的模板。 客户端是一个javascript MVC“应用程序”,它接收并缓存HTML模板,并根据需要请求JSON格式的数据。js是应用程序的核心和逻辑,实现所有行为和交互 在这个特定场景中,服务器将请求作为数据存储库和HTML模板服务器。客户端接收模板并缓存它们,以便稍后(使用脱机存储,为什么不使用)在浏览器本身中使用JSON数据呈现它们 我可以看到一些好处:Javascript Web应用程序体系结构:在浏览器中使用服务器作为数据和模板的存储库实现MVC,javascript,model-view-controller,architecture,Javascript,Model View Controller,Architecture,使用以下体系结构实现web应用程序的优缺点是什么: 简单的服务器,只提供数据的JSON响应和HTML以及要在客户机中呈现的模板。 客户端是一个javascript MVC“应用程序”,它接收并缓存HTML模板,并根据需要请求JSON格式的数据。js是应用程序的核心和逻辑,实现所有行为和交互 在这个特定场景中,服务器将请求作为数据存储库和HTML模板服务器。客户端接收模板并缓存它们,以便稍后(使用脱机存储,为什么不使用)在浏览器本身中使用JSON数据呈现它们 我可以看到一些好处: 浏览器只需要请
- 浏览器只需要请求必要的数据和模板,因此它的带宽非常低。缓存模板是一大优势
- 服务器非常简单,甚至可以使用Node.js在javascript中实现,以便通过在服务器中呈现模板并在响应中发送生成的html,为禁用javascript的浏览器提供优雅的回退
- 更多的请求是作为模板和数据分别请求的
- 在这种想法的简单应用程序中,如果用户禁用了javascript,它将不起作用
如果我有代表,我会把它变成一个社区维基,但我不能。我不知道这样的东西是否存在 然而,我没有发现对服务器的请求有什么真正的好处,就像通常的服务器端MVC一样,您只能下载一次模板,然后只请求JSON数据(可能会将模型的一些行为转移到JS)。 另外,请记住,向服务器发送10个1kb的数据请求所需的时间要比1个10kb的请求所需的时间长。如果您有更多的请求和更少的数据,您可能会遇到更高的延迟 我发现这个想法的一个大缺点是,您正在公开所有代码。你可能会混淆它,但它仍然存在,任何人都可以看到它
一个很大的好处是:如果你用最少的数据实现一些离线存储,它可能会离线工作。老问题,但我看到这里没有人提到构建在NodeJ和BackboneJS上的骨骼,这正是你想要的 网址: Bones为主干应用程序提供约定。它允许大多数人 要在服务器和客户端上共享的代码。骨头暴露了你的皮肤 主干路由作为服务器上的常规路径,以便可以访问 通过非JavaScript代理,而有能力的客户端可以享受正常的 客户端主干网体验
Linkedin的工程团队目前正在写博客,介绍他们是如何从服务器端模板迁移到客户端JavaScript模板的 已经有好几篇文章了