【问题标题】:How to build a REST client frontend for a REST API backend?如何为 REST API 后端构建 REST 客户端前端?
【发布时间】:2015-04-23 14:31:06
【问题描述】:

我已经使用 Django 构建了一个 REST API 后端,现在正处于设计面向客户端的前端的阶段。不过,我似乎无法理解这个客户端前端应该如何构建以及它应该使用哪些语言。

PHP 是服务器端的,通常用作构建后端的语言。当与 Codeigniter 等框架结合使用时,它还可用于处理会话、路由 URL 并决定使用哪些模板。不过,我不相信它可以用来调用我的 REST API 来获取资源(这里可能有误,请纠正我)。

Javascript 是面向客户端的,但仅在从服务器获取网页后才使用。 AngularJS 很棒,但根据我的阅读,它似乎只有助于将非常动态的功能添加到已经呈现的静态页面中。

根据您创建客户端前端的经验,我非常愿意接受任何想法、建议和建议。那么,回到我最初的问题,如何构建 REST 客户端前端,哪种语言最适合此目标,以及是否应该考虑使用哪些框架?

更新 1

有人问这个客户端前端是否会在浏览器中运行——答案是肯定的,会的。我正在尝试构建一个类似 Twitter 的 Web 客户端前端,它与类似 Twitter 的 REST API 后端交互。基本上,您在 Twitter 网站上看到的所有内容。

【问题讨论】:

  • 这里需要稍微绑定一下客户端问题。您是否在浏览器中交付应用程序?或者您正在构建一个原生应用程序(不在浏览器中运行)并使用其他一些运行时环境?如果应用程序存在于浏览器中,则使用浏览器中的 Ajax 调用与您的 REST API 对话。
  • @jfriend00 是的,前端将是浏览器中的应用程序。我正在尝试构建一个类似 Twitter 的 Web 客户端前端,它与类似 Twitter 的 REST API 后端交互。基本上,您在 Twitter 网站上看到的所有内容。
  • 您必须能够从后端提供网页。即使它只是一个页面的外壳,它也必须至少包含所有客户端 Javascript,这样您就可以使用 Ajax 调用来调用您的 REST API,从后端获取一些数据,将其格式化为 HTML,然后在浏览器中显示。更常见的是,您会提供比后端更多的 HTML,然后使用客户端 JS 来获取更新并响应用户操作。现在,恐怕你的问题对于 StackOverflow 来说太宽泛了。听起来您在问如何建立网站。

标签: javascript php django rest django-rest-framework


【解决方案1】:

因为它是一个浏览器前端,所以我只会使用 HTML/JavaScript。无需使用 PHP 或任何服务器端语言恕我直言。这具有非常便携的优点。

我也会为此使用 JS 框架(现在的趋势似乎是有棱角的)。

【讨论】:

  • 还可以考虑让您的页面具有响应性,以便您可以将其编译到移动应用程序中,因为它仅用 html 和 javascript 编写,没有服务器端代码。
【解决方案2】:

感谢大家的帮助。在这里找到了我想要的东西: http://docs.python-requests.org/en/latest/

一个不错的 Python 小库,允许我从作为前端的 Django 应用程序中调用 REST 后端。

AngularJS 也将用于使 Django 返回的静态页面更加动态。为什么?因为 AngularJS 本身可以成为完整的解决方案只有在您的整个网站由一个页面组成。如果你有多个页面,每个页面都有自己的一组动态元素,那么你需要 Django 和 AngularJS 的组合。

显然 REST 仍然很新,似乎没有多少人像我一样偶然发现这个非常基本的问题。

再次感谢!

【讨论】:

    【解决方案3】:

    REST 真的,真的不是什么新鲜事。至少早在 HTTP 1.1 之前,它就是 HTTP 的一部分

    看看这个问题:Backbone.js frontend with RESTful Rails backend? 最佳答案列出了 20 个可能的构建前端的框架。

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      相关资源
      最近更新 更多