我刚刚阅读了单页Web应用程序,它公开了用于检索数据的RESTful接口 - 例如以JSON格式,并且只提供引用Javascript文件的单个HTML页面,该文件负责调用RESTful接口和构建Web客户端界面在客户端的Web浏览器中动态显示。
要在Play中实现此功能,应该实现控制器,以便它们返回JSON而不是HTLM,并实现一些CoffeScript以在客户端呈现用户界面。
到目前为止一直都很好......但是我想知道这个设计对于大型Web应用程序是否有意义,因为在客户端运行的javascript代码量会越来越多。
我最初的想法是使用Play的模板引擎实现Web应用程序,然后为移动应用程序提供RESTful接口。
我们非常感谢任何有关此主题的文档的建议,想法或链接; - )
答案 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模板方法相比,有一些初始开销,但只有一组控制器可以让生活更轻松。
夫妻点需要考虑: