Grails不是替代品,它是圍繞傳統Java EE堆棧的抽象概念,一些非常受歡迎的庫,如Spring和Hibernate,可以讓你通過使用「約定優先配置」來加快速度。
Grails的一個組件是GSPs,groovy服務器頁面,這是一個前端技術,MVC(模型視圖控制器)範例中的V.您還擁有M(模型)和控制器的域對象,它們是C. Grails還具有的服務,它們最好放入MVC範例的M類(IMHO)中。因此,Grails中的模型安排爲您提供了相對容易的持久性(使用hibernate),服務爲您提供了業務邏輯和事務邏輯的高度可重用性,Controller只需爲給定請求調用正確的邏輯並返回響應。
該響應的一部分是顯示在屏幕上的內容。在一個簡單的web應用程序中,GSP填補了這一角色 - 控制器告訴瀏覽器呈現一個特定的GSP,該GSP具有從控制器中調用的服務方法綁定的數據。然而,easy讓控制器返回json,所以如果綁定到控制器的端點是ajax請求,客戶端可以自己處理響應。
您可以在grails應用程序中使用任何前端技術。缺省值是GSP,它是JSP的擴展,它是傳統Java堆棧的一部分,但您可以使用jQuery,Sencha,Sproutcore,Backbone,任何您想要的。在這種情況下,您將有一個GSP引導您的JavaScript代碼,其餘的將由客戶端應用程序處理。