单页面播放应用程序

时间:2013-02-22 08:41:36

标签: javascript rest playframework playframework-2.0

我刚刚阅读了单页Web应用程序,它公开了用于检索数据的RESTful接口 - 例如以JSON格式,并且只提供引用Javascript文件的单个HTML页面,该文件负责调用RESTful接口和构建Web客户端界面在客户端的Web浏览器中动态显示。

要在Play中实现此功能,应该实现控制器,以便它们返回JSON而不是HTLM,并实现一些CoffeScript以在客户端呈现用户界面。

到目前为止一直都很好......但是我想知道这个设计对于大型Web应用程序是否有意义,因为在客户端运行的javascript代码量会越来越多。

我最初的想法是使用Play的模板引擎实现Web应用程序,然后为移动应用程序提供RESTful接口。

我们非常感谢任何有关此主题的文档的建议,想法或链接; - )

2 个答案:

答案 0 :(得分:2)

Play for Scala book有一个关于这个主题的章节。他们使用单个视图作为切入点,就是这样。

对于大型应用程序,这是一个有效的问题。为此,您可能希望使用诸如RequireJS(Play 2.1具有内置支持)等库。您还可能希望将应用程序拆分为子模块以管理复杂性。在客户端,您可能也应该使用框架,例如AngularJS

关于Play,没有什么可说的,这是一个非常好的平台来公开RESTful JSON服务。我建议您查看JSON documentation并查看ReactiveMongo

答案 1 :(得分:0)

提供通用REST API应该可以正常工作。目前我正在使用适用于浏览器(Backbone等)和iOS客户端的Play 2.0服务器应用程序。浏览器客户端完全独立于Play应用程序并独立部署。

我认为与Play模板方法相比,有一些初始开销,但只有一组控制器可以让生活更轻松。

夫妻点需要考虑:

  • 客户端身份验证。最好是对所有客户使用相同的方式。
  • 在某些时候,您可能希望为其中一个客户端引入一些专门的REST API,以便节省带宽和请求数量。例如,移动登陆屏幕是典型的候选人。
  • 您需要更详细地记录REST API,因为Web客户端开发人员不共享代码库。