JSON 仅在后端和前端之间

Posted

技术标签:

【中文标题】JSON 仅在后端和前端之间【英文标题】:JSON only between backend and frontend 【发布时间】:2014-02-09 05:44:03 【问题描述】:

我正在为一个新的 Web 应用程序设计架构。 我认为后端(服务器)和前端之间的通信应该只是 JSON。 以下是我的论点:

以自己的方式操作和呈现数据是客户的责任。服务器应该只向客户端发送所需的原始信息。 JSON 是轻量级的,我的应用程序可能会被移动连接不佳的远程客户端使用 它允许多种前端开发(桌面设备、移动 设备)并有可能为其他开发者创建 API

考虑到我们内部拥有前端技能,几乎可以从原始 JSON 信息中完成我们需要的所有事情。

您能否针对这种仅 JSON 的选择提出反驳意见,以便我做出更明智的选择? 肯定有很多后端框架(想想 php 框架)仍然宣​​传 html 模板以向客户端发送 HTML 格式的响应。 谢谢

更新:尽管我之前研究过这个主题,但我发现了一个类似且非常有趣的帖子:Separate REST JSON API server and client?

【问题讨论】:

【参考方案1】:

虽然这个问题已经死了,但我认为我应该尝试权衡一下。 出于您所说的所有原因以及更多原因,后端和前端之间仅通过 JSON 文件进行通信可能是最好的可用方式,因为它为您的 Web 应用程序提供了一个更加分隔的结构,同时也极大地减少通过用户连接发送的数据。 但是,直接导致的一些缺点是:

需要更多的 javascript 前端开发(因为 HTML 结构不是服务器发送的,需要在客户端创建) 它将压力从服务器转移到客户端,因此客户端运行的 JavaScript 更多(这有时可能是一个问题,尤其是对于移动用户而言)

【讨论】:

【参考方案2】:

市场上已经有许多基于前端的框架非常有效地支持 Json,其中一些是主干、下划线、角等。现在如果我们谈论后端,我们通常使用基于 REST 的通信来处理此类应用程序。所以我认为这种类型的架构已经退出市场并且运行良好,特别是如果我谈到基于移动的应用程序。

【讨论】:

即使我们使用基于 python 的 Django 框架或烧瓶框架,我们通常也会以原始 json 的形式发送数据,并在客户端解析 JSON 并在 UI 中显示适当的值。 感谢您的回答。事实上,这种方法已经被使用了。我仍然想知道为什么仍然使用其他方法。例如,生成 HTML 的 PHP 框架。是不是因为缺乏前端技能(我是说写好Javascript代码的能力)? 是的,这可能是原因之一。因为开发人员通常希望在后端工作更多,而不想在前端工作。此外,人们也不想学习最新的技术。同样在以前系统如果已经使用了一些技术,那么假设让它像这样工作,他们不想尝试新的/不同的东西。

以上是关于JSON 仅在后端和前端之间的主要内容,如果未能解决你的问题,请参考以下文章

如何在后端和前端具有不同子文件夹的代码沙盒中运行应用程序

后端和前端之间的文件(完整示例)

带有JavaScript后端和前端的多人游戏。什么是最佳做法?

带有 JavaScript 后端和前端的多人游戏。最佳实践是啥?

express后端和fetch前端的json数据传递

在 Rails 应用程序中分离后端和前端服务器?