我对 Flex 和 Java EE 有一些了解,它们非常适合 Web 应用程序开发。无论如何,当我尝试编写一个基于 HTML/CSS/Javascript 的典型网页时,我想我应该看看一些新的程序语言/框架。
我听到了很多关于 grails 的好消息,最后决定学习它而不是 python、ruby、scale……但是我仍然没有对整个结构有一个概述。 Grails 是一个类似 php、jsp、jsf 的后端框架,对吧?所以这可能意味着,它是后端 Java EE 的替代品,那么前端呢(需要 ajax 功能),人们在使用 grails 什么?
谢谢
最佳答案
Grails 不是替代品,它是围绕传统 Java EE 堆栈和一些非常流行的库(如 Spring 和 Hibernate)的抽象,它允许您通过使用“约定优于配置”来更快地运行。
Grails 的一个组件是 GSP,groovy 服务器页面,它是一种前端技术,MVC( Model View Controller )范式中的 V。您还有域对象,即 M(模型)和 Controller ,即 C。Grails 还具有最好放入 MVC 范式的 M 类别(恕我直言)的服务。因此,Grails 中的模型安排为您提供了相对容易的持久性(在后台使用休眠),服务为您的业务和事务逻辑提供了极大的可重用性, Controller 只需为给定请求调用正确的逻辑,并返回响应。
该响应的一部分是屏幕上显示的内容。在一个简单的 web 应用程序中,GSP 扮演了这个角色—— Controller 告诉浏览器呈现一个特定的 GSP,该 GSP 具有从 Controller 中调用的服务方法绑定(bind)到它的数据。但是,很容易让 Controller 返回 json,所以如果绑定(bind)到 Controller 的端点是 ajax 请求,客户端可以自己处理响应。
您可以在 grails 应用程序中使用任何您想要的前端技术。默认是 GSPs,它是 JSPs 的扩展,它是传统 java 堆栈的一部分,但是您可以使用 jQuery、Sencha、Sproutcore、Backbone,任何您想要的东西。在这种情况下,您将拥有一个引导您的 javascript 代码的 GSP,其余的将由客户端应用程序处理。
关于ajax - 前端 ajax 框架与 Grails 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551959/