>可扩展性问题
>对不同的应用程序使用相同的后端
所以坚持单个grails是个好主意,或者我们应该分开关注,甚至使用其他框架如node.js来使用rest来实现前端.
其次我不是很清楚,我们应该把业务逻辑放在grail app.Ideal place应该是我想的服务
我们正在检查Angular.js,因为它似乎比gsp页面更快,前端的当前风格和与grail的集成也更容易.想要检查是否是正确的选项.
Grails非常适合快节奏的开发需求,当您对它有基本的了解时,您会喜欢它.您可以用任何框架/语言编写性能不佳的应用程序.我建议的一件事是深入了解Hibernate,它是底层的持久性库.如果你了解它是如何工作的,它应该可以帮助你避免在数据库级别犯下任何愚蠢的错误.对于问题的第一部分,Web应用程序的可伸缩性实际上并不取决于您选择使用的语言/框架,而是取决于您的应用程序的构建方式.您可以在Grails中构建可伸缩的Web应用程序,就像在C中构建速度极慢的应用程序一样.如果Grails是您想要使用的框架,那么使用它;如果需要,你总是可以用Java或其他快速语言重写慢速部分. (毕竟,这就是Twitter对Scala所做的.)
在我们公司,我们所做的是使用grails作为客户端交互/许可服务器,并使用多个Node.js服务器进行分析.因此,客户端提供的所有内容都存储在grails服务器上,然后将功能数据发送到Node.js服务器集群以进行进一步处理.来自Node.js服务器的分析数据由grails服务器使用http builder获取,用于在仪表板上绘制图表和数据.
// ————-更新更新问题的答案———————-
> Node.js是服务器端技术,它不能在前端即客户端工作
>在grails中,您可以在控制器中编写所有传入(到服务器)和传出(从服务器)的内容.
>所有业务逻辑/计算/数据库查询都会进入您的服务方法.完成后,通过return语句将计算数据发送回控制器,控制器将在GSP上发送/显示它.
>关于你的角度JS问题,我会说你不能用角度JS替换GSP,因为GSP只不过是一个服务器端脚本,你在脚本中使用grails / groovy / java代码和普通的HTML代码一起编写grails / groov完整的HTML并发送到客户端.所以你只能通过添加像Angular这样的前端MVC来增强它的功能,而不能替换它.功能明智的Angular是一流的框架.将任何类型的JS添加到您的GSP并享受它们.
附: – 一旦你掌握了很多东西很容易做到的GSP标签,你就会开始爱GSP了.