【问题标题】:REST service application and separate frontend - good idea?REST 服务应用程序和单独的前端 - 好主意吗?
【发布时间】:2010-08-09 07:22:39
【问题描述】:

我正在考虑使用 RESTful Web 服务构建应用程序。我的想法是将应用程序的 RESTful(json 等)部分构建为独立的,然后将前端(例如 html/css/js/etc)构建为该服务的客户端,尽管不是通过 js,我想该网页无需 js 即可工作,因此可能使用 LWP 之类的东西进行调用。基本上结果是 2 个独立的应用程序。这是一个坏主意吗?好主意?我意识到这有点主观。

【问题讨论】:

    标签: web-applications rest


    【解决方案1】:

    我认为这是个好主意。

    这意味着在它的末尾:

    • 您将拥有一个完整的 API,其中至少包含本机图形界面的所有功能。因此,您最终不会在图形界面中获得任何不可作为服务使用的功能。

    • 您将避免一些重复工作,因为您为使图形界面正常工作所做的所有努力也将反映在 Web 服务中,因为它们使用相同的功能。修复一个错误,另一个修复。

    • 这也意味着存在一致性。

    • 自动化测试可能更容易。

    • 最好保持模块化,尤其是在开源中,因为这样可以更轻松地为您的服务编写单独的图形界面,甚至在使用相同的图形界面时修改您的服务。

    【讨论】:

      【解决方案2】:

      我希望看到这种类型的架构的主要问题是,它不会构建你认为的那样。这个应用程序的 RESTful 部分很可能是前端,它提供带有链接的文本/html,以允许客户端发现您的应用程序。

      您认为是 RESTful Web 服务的部分可能不是 RESTful。您是否打算在来自您的 Web 服务的响应中嵌入链接?您是否会提供一种比 application/json 或 application/xml 具有更多语义意义的媒体类型?如果不是,您的 Web 服务不是 RESTful。

      我并不是说你做错了,我只是说你可能没有做你认为你正在做的事,所以要小心使用 RESTful 约束来指导你,因为你可能会发现它非常很难应用。

      【讨论】:

      • 我只是说 json 和 xml 等,以确保我给出清晰的说明。我考虑这样做的部分原因是我发现在用户端创建一个完整的安静的应用程序真的很困难,主要是由于浏览器的限制而不是表示。
      • @xenoterracide Web 浏览器是迄今为止最 RESTful 的客户端。您发现哪些浏览器限制会导致您出现问题?
      • forms,虽然我相信 HTML5 在表单中增加了对 PUT 和 DELETE 的支持,但我不确定是否有任何浏览器实现了这一点。我还注意到由于表单中缺乏“可换肤性”而导致人们使用图像和链接(必须采用 rpc 方式)或 javascript 对它们进行换肤的问题,因为浏览器不允许您对表单元素进行换肤。
      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 2013-08-03
      • 1970-01-01
      相关资源
      最近更新 更多