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 应用程序提供了一个更加分隔的结构,同时也极大地减少通过用户连接发送的数据。
但是,直接导致的一些缺点是:
【讨论】:
【参考方案2】:市场上已经有许多基于前端的框架非常有效地支持 Json,其中一些是主干、下划线、角等。现在如果我们谈论后端,我们通常使用基于 REST 的通信来处理此类应用程序。所以我认为这种类型的架构已经退出市场并且运行良好,特别是如果我谈到基于移动的应用程序。
【讨论】:
即使我们使用基于 python 的 Django 框架或烧瓶框架,我们通常也会以原始 json 的形式发送数据,并在客户端解析 JSON 并在 UI 中显示适当的值。 感谢您的回答。事实上,这种方法已经被使用了。我仍然想知道为什么仍然使用其他方法。例如,生成 HTML 的 PHP 框架。是不是因为缺乏前端技能(我是说写好Javascript代码的能力)? 是的,这可能是原因之一。因为开发人员通常希望在后端工作更多,而不想在前端工作。此外,人们也不想学习最新的技术。同样在以前系统如果已经使用了一些技术,那么假设让它像这样工作,他们不想尝试新的/不同的东西。以上是关于JSON 仅在后端和前端之间的主要内容,如果未能解决你的问题,请参考以下文章
带有JavaScript后端和前端的多人游戏。什么是最佳做法?