我们是grails的新手并且关注以下问题:
可伸缩性问题
为不同的应用程序使用相同的后端
所以坚持单个grails是个好主意,或者我们应该分开关注点,甚至使用其他框架如node.js来使用rest来实现前端。
其次我不是很清楚,我们应该把业务逻辑放在grail app中。理想的地方应该是我认为的服务
我们正在检查Angular.js,因为它似乎比gsp页面更快,前端的当前风格和与grail的集成也更容易。想要检查是否是正确的选项。
答案 0 :(得分:10)
Grails非常适合快节奏的开发需求,当您对它有基本的了解时,您会喜欢它。您可以用任何框架/语言编写性能不佳的应用程序。我建议的一件事是深入了解Hibernate,它是底层的持久性库。如果您了解它是如何工作的,它应该可以帮助您避免在数据库级别犯下任何愚蠢的错误。
对于问题的第一部分,Web应用程序的可伸缩性实际上并不取决于您选择使用的语言/框架,而是取决于您的应用程序的构建方式。您可以在Grails中构建可伸缩的Web应用程序,就像在C ++中构建速度极慢的应用程序一样。如果Grails是您想要使用的框架,那么使用它;如果需要,你总是可以用Java或其他快速语言重写慢速部分。 (毕竟,这是Twitter对Scala的所作所为。)
在我们公司,我们所做的是使用grails作为客户端交互/许可服务器,并使用多个Node.js服务器进行分析。因此,客户端提供的所有内容都存储在grails服务器上,然后将功能数据发送到Node.js服务器集群以进行进一步处理。来自Node.js服务器的分析数据由grails服务器使用http builder获取,用于在仪表板上绘制图表和数据。
// -------------更新更新问题的答案----------------------
P.S。 - 一旦你掌握了很容易做很多事情的GSP标签,你就会开始爱GSP。
答案 1 :(得分:3)
为了简单起见:您可以使用Grails构建整个app-stack。您可以以任何适当的方式拆分/联合您的服务。您可以使用任何疯狂的JS前端框架构建应用程序,或者仅使用REST API构建应用程序。或者将它们混合在一起。
此外,您可以使用plugins
轻松模块化您的应用。关于它们的好处是,它们可以独立运行,这意味着您可以将该服务用作应用程序的一部分,或者在应用程序之外运行服务,这是您的决定,而不是框架限制!
更新:
Grails有一个非常重要的观点:Groovy是一种JVM语言。这意味着,您可以直接在项目中使用世界上的任何熔岩库。此外,您的开发人员必须只学习Groovy,因为它在整个应用程序中随处可用,无论是域类,服务还是GSP。