前言
首先如果想学好 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做具体的讲解与应用