前言
首先如果想学好Gradle
,我们必须要知道一点Groovy
基础。Groovy
的知识也是非常多的,因为我们主要是学习Gradle
,所以我们了解下基本的就可以了.
领域特定语言DSL
介绍
DSL
全称domain specific language
,翻译过来就是领域特定语言.所谓针对某一领域,其基本思想是求专不求全
,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。一般DSL
用于聚焦指定的领域或问题,这就要求DSL
具备强大的表现力,同时在使用起来要简单。由于其使用简单的特性,DSL
通常不会像 Java,C++
等语言将其应用于一般性的编程任务。
常见的DSL
语言:
- 软件构建领域
Ant
- UI 设计师
HTML
- 硬件设计师
VHDL
DSL
语言的特点:
- 用于专门领域,不能用于其他领域
- 表现力有限
- 不描述解答域,仅描述问题域
Groovy
不是DSL
,而是通用的编程语言,但 Groovy
却对编写出一个全新的 DSL
提供了良好的支持,这些支持都来自于 Groovy
自身语法的特性,下面我们就简单介绍下Groovy
Groovy
初探
Groovy
是从 Java
衍生出来的,Groovy
的源代码文件.groovy
也是编译成为 .class
文件,然后运行在JVM
虚拟机上的。这里推荐Groovy的官方学习文档.Groovy
的语法和java
很像,同时它也能使用java
所有的库
Groovy
的特性:
- 语法上支持动态类型,闭包等新一代语言特性
闭包是用{符号括起来的代码块,它可以被单独运行或调用,也可以被命名,类似‘匿名类’或内联函数 后面后详细介绍
- 无缝集成所有已经存在的
Java
类库
虽然两者很类似,但是也稍有不同,后面也会介绍
- 既支持面向对象编程也支持面向过程编程
Java
是面向对象编程,Groovy
由Java
演变而来,所以也支持面向对象编程;同时它又结合像Python
脚本语言的特性,所以支持面向过程编程.这就看你怎么用了,如果你想用Groovy
开发应用程序,那就面向对象编程,如果用Groovy
开发脚本,那就面向过程编程
为什么选择Groovy
及其优势
- 一种更加敏捷的开发语言
- 入门容易,功能很强大
- 既可以作为编程语言也可以作为脚本语言
- 熟练掌握
Java
很容易掌握Groovy
这一篇主要是让大家对基本概念有一定的了解,后续我们会对Groovy
做具体的讲解与应用