在生活中,咱们看电影时,总会在开头看到一段介绍,特别是一些魔幻片,其作用就是在为故事的发展提供依据,给观众留下悬念。而 Gradle 作为新工具,咱们也需要来介绍下它的背景,给初学者留下学习的动力。
项目构建历史
随的时代的进步,技术的发展,项目的构建变得越来越轻松方便。而对于一个老牌的程序员来说,对项目的构建历史还是很有发言权的。以下咱们就来看下项目构建的发展历程。
石器时代
- 依赖管理
最开始的时候如果需要依赖第三方的 jar 包,需要把 jar 放到项目下的 lib 目录中,如果 jar 包多了不好管理,很容易出现版本冲突问题。每个项目需要使用到同一个 jar 包都得拷贝一份到项目中,麻烦且占用存储空间。
- 测试
每个功能都需要书写主方法测试,在 main 中写测试非常麻烦,能不写一般都是不会写,就算写了也是很简单的测试下而已。
- 打包
通过 eclipse 等 IDE 打包然后传递到服务器或者放入依赖的项目中。麻烦,繁琐。
- 依赖 jar 上传
通过一些文件上传工具(FTP)上传 jar 包到依赖的项目下。
通过以上几点的描述咱们可以得知,石器时代的项目构建更多的是依赖人力,操作比较频繁且不能省略。像这种重复而又没有技术含量的操作是很无聊的。于是乎就有了构建工具的出现。
那构建工具又有什么作用或者说突破呢?
以下咱们就来看下工业时代的构建工具。
工业时代的构建工具
构建工具的作用:
- 依赖管理
可以做依赖管理,将 jar 包统一管理起来,更加的清晰和方便,而且仅仅是依赖,没有拷贝 jar 包到项目中。
- 自动化
可以自动测试、打包、发布。
开发原则:机器能做的事情,绝不自己动手去做,能大大提高开发效率。
那主流的构建工具有哪些呢?请看主流构建工具介绍。
主流的构建工具
- Ant ( Apache Ant)
软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java 环境中的软件开发。
- Maven (Apache Maven)
从 Ant 中借用了绝大多数构建任务,其突出的是依赖管理和项目发布。
- Gradle
使用 Groovy 语言构建脚本,不再像 Maven一样使用 XML。
到这里,咱们的主角已经闪亮登场了,接下来让它做个自我介绍。
Gradle 介绍
一个开源的项目自动化构建工具,建立在 Apache Ant 和 Apache Maven 概念的基础上,并引入了基于 Groovy 的特定领域语言(DSL),而不再使用 XML 形式管理构建脚本。
DSL(Domain Specific Language)定义:针对某一领域,具有受限表达性的一种计算机程序设计语言。只针对一个领域做出来的简洁语言,而非为了通用而设计。
到这里,咱们已经知道 Gralde 依赖 Groovy 语言,那 Groovy 又是啥?能做什么?怎么用?请看下一篇《Groovy 的介绍》
网友评论