技术开发 频道

Linux下使用grails进行web开发

   【IT168 技术文档】一、Groovy和Grails 简介

   Groovy定义

   Groovy是一种语言,其语法类似于Java,但比Java更简单。它通常被视为脚本/灵活/动态的语言,但是我不喜欢这类形容词,因为我认为它们只会令人困惑。如果说Java是一位明智的中年男子,那么Groovy就是他十几岁的儿子。

   Groovy具有父亲的许多特点,但是更为狂野且更为有趣。他们也可以很好地合作。Groovy的规则比Java少得多。Groovy是一种具有Python、Ruby等动态语言特性的与Java平台紧密结合的敏捷开发语言。

   Groovy的主要设计目的就是为Java开发者提供灵活的脚本语言,它的语法类似Java的语法,所以如果你熟悉Java的话能很快上手。一般来说,脚本语言,比如Groovy,具有更好的表示能力;相对于系统编程语言,比如Java语言,能够提供更高的抽象等级。这通常会提供更快捷的应用程序开发能力,以及更高的编程生产力。但是,脚本语言和系统编程语言的目标是不同的。脚本语言被设计用于把应用程序集成起来,而不是实现复杂的数据结构和算法。因此,为了保证实用性,脚本语言必须能够访问不同类型的组件。

   Groovy语言包含很多在其他脚本语言(诸如Python、Ruby和Smalltalk)中可见的语言特性。因为Groovy是一种基于Java的语言,Grrovy语言编写的应用程序可以完全使用Java应用程序编程接口(API)。这意味着,Groovy可以与使用Java语言所编写的框架和组件完美集成。

   脚本语言Groovy和系统编程语言Java,两者相互补充。综合使用两者可以加速程序开发过程。比如,可以使用Java语言编写框架和组件,而把Groovy语言用作框架和组件的“粘合剂”。Groovy语言的易用性有利于大大扩展Groovy的应用范围。现在,组件架构、图形化用户界面(GUI,Graphical User Interfaces)、数据库访问,以及因特网应用等日渐重要,都有利于Groovy脚本语言的应用和发展。Groovy开发者可以充分利用快速的应用程序开发特性,比如脚本语言的的快速开发能力。

   Groovy适合于处理涉及大量数据或者文件操作的任务、应用程序测试,或者在小型或者中型项目中作为Java语言的替代物。Groovy的语法类似于Java编程语言的语法。这样可以大大缩短Java程序员学习Groovy语言的时间。Java平台的其他脚本语言通常都是基于早期的预处理器概念,这样就存在先天性的发展障碍。但是,Groovy语言“就是”Java语言,提供与Java平台更自然、更无缝地集成。

   Grails是Groovy on Rails的缩写,也就是Ruby on Rails(ROR)在java的一种实现,另外一种实现是JRuby on Rails(JROR)。Grails 是搭建在动态语言 Groovy 之上的一个开源 MVC Web 开发框架,Grails 的一个显著特点在于“快”,这主要得益于 Groovy 脚本语言的动态特性,也得益于其“一栈式”的设计。

   与传统的 Java/C# Web 开发框架相比,它可以使用极少的代码和配置实现诸如表单提交、数据库读写等常见的 Web 应用功能,实现了开发效率的成倍提高。与它的老师 Ruby on Rails 相比,Grails 的优势在于 Groovy 语言与 Java 平台的紧密集成。一方面 Groovy 在语法上与 Java 十分相似,降低了众多的 Java 程序员学习 Grails 的门槛。另一方面,Groovy 本身运行于 JVM 之上,可以直接调用 Java 代码,实现了与 Java 平台的完美整合,因此可以将 Grails Web 应用运行在成熟可靠的 Java EE 应用服务器之上。

   Grails 是一个遵循 MVC 设计模式的 Web 开发框架。它分别用 Domain Class、View、Controller 对应于 MVC 的模型、视图和控制器。可以简单的把一个 Domain Class 理解为数据库中的一张表,Grails 在底层通过 Hibernate 将 Domain Class 和数据库的表进行了映射。View 在 Grails 中指的是 GSP 页面(注意是 GSP 不是 JSP),它用于显示用户界面。GSP 与 JSP 类似,既可以编写静态网页的元素,也可以嵌入 Groovy 代码实现动态内容。Controller 在 Grails 中充当着重要的角色:它可以响应用户的请求,可以接收用户提交的表单,还可以访问模型的数据,并传递给 View。Grails 在 MVC 三方面的具体内容,将在后面的例子中做详细介绍。Grails框架如图1 。


 
图1 Grails框架


   Grails是一个面向企业级应用、基于MVC模式的Web框架,其构建于Spring、Hivernate、Quartz这些已被无数实际应用证实的、可扩展的开源框架之上。与以前的J2EE规范相比,Grails的目的在于帮助开发人员更快地创建Web程序。之所以给这个框架起名“Grails”,是希望它能够成为所有开发者手中的Holy Grails(圣杯)。Grails项目已经为开发这个强大的Web框架做了巨大的工作,并且也培养出了一个开放、团结的社区。

0
相关文章