转载

Gradle 从入门到精通系列(一):为什么要用 Gradle?

点击关注上方“ 大前端圈

设为“置顶或星标”,第一时间送达技术干货。

Gradle 从入门到精通系列(一):为什么要用 Gradle?

  1. Gradle是什么

    • DSL

    • Groovy

  2. Gradle有什么特性

  3. 为什么要用Gradle

一,Gradle是什么

  • Gradle一个基于JVM的开源的新一代构建工具。

  • Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。

  • 构建工具可以让项目开发的工作实现自动化。自动化可以自定义有序的步骤来完成代码的编译、测试和打包等工作,让重复的步骤变得简单。

  • Gradle是以Groovy语言为基础,面向Java应用为主。基于DSL语法的自动化构建工具。

DSL概念介绍:

  • 全称:

DSL(domain specific language,即特定领域语言)

  • 有哪些常见的DSL语言:

xml

html

  • DSL与通用编程语言的区别:

求专不求全,解决特定问题

Groovy介绍

a. Groovy:

  1. 一种基于JVM的敏捷开发语言

  2. 结合了Python、Ruby和Smalltalk的许多强大的特性

  3. Groovy可以与Java完美结合,而且可以使用Java所有的库

b. Groovy特性:

  1. 语法上支持动态类型、闭包等新一代语言特性

  2. 无缝集成所有已经存在的Java类库

  3. 既支持面向对象编程也支持面向过程编程

c. Groovy优势:

  1. 一种更加敏捷的编程语言

  2. 入门非常的容易,且功能非常的强大

  3. 既可以作为编程语言也可以作为脚本语言

groovy是一种基于java虚拟机的动态语言。基于动态语言的DSL语言与Ant或者任何基于XML的构建系统相比有显著优势。

二,Gradle有什么特性

1,约定优于配置,即为设置和属性提供默认值。

Gradle可以为构建你的项目提供引导和默认值,如果你使用这种约定,你的Gradle构建脚本不会有几行。比起Ant,Gradle不仅仅提供了约定,还可以让你轻松的打破约定。

2,Gradle Wrapper

Gradle Wrapper是对Gradle 的包装,它的作用是简化Gradle本身的下载、安装和构建,比如它会在我们没有安装Gradle的情况下,去下载指定版本的Gradle并进行构建。Gradle的版本很多,所以有可能出现版本兼容的问题,这时就需要Gradle Wrapper去统一Gradle的版本,避免开发团队因为Gradle版本不一致而产生问题。

3,强大的依赖管理

Gradle提供了可配置的可靠的依赖管理方案。一旦依赖的库被下载并存储到本地缓存中,我们的项目就可以使用了。依赖管理很好的实现了在不同的平台和机器上产生相同的构建结果。

4,构建脚本使用Groovy或Kotlin DSL编写

Ant和Maven的构建脚本是由XML来编写的,如果XML逻辑复杂内容太多就不容易维护。Gradle可以使用Groovy DSL来实现构建脚本,Groovy 是基于Jvm一种动态语言,它的语法和Java非常相似并兼容Java,因此你无需担心学习Groovy的成本。Groovy在Java的基础上增加了很多动态类型和灵活的特性,比起XML,Gradle更具有表达性和可读性。Groovy编写构建脚本代码量更少,可读性更强。

5,可以和其他构建工具集成

Gradle可以和Ant、Maven和Ivy进行集成,比如我们可以把Ant的构建脚本导入到Gradle的构建中。

三,为什么要用Gradle

从上图可以看出,Gradle结合Ant和Maven等构建工具的最佳特性。它有着约定优于配置的方法、强大的依赖管理,它的构建脚本使用Groovy或Kotlin DSL编写,是Android的官方构建工具。

同为构建工具与maven比较,maven缺点是什么:

  1. Maven的提供了默认的结构和生命周期,这些可能不适合你的项目需求。

  2. 为Maven写定制的扩展过于累赘。

  3. Maven的中央仓库比较混乱,当无法从中央仓库中得到需要的类库时,我们可以手工下载复制到本地仓库中,也可以建立组织内部的仓库服务器。

  4. 国内连接Maven的中央仓库比较慢,需要连接国内的Maven镜像仓库。

  5. Maven缺乏文档,不便于使用和理解

四,总结一下:

本文介绍了Gradle是什么,Gradle的特性,这些特性和其他竞争的构建工具相比有着很大的优势和吸引力,这也是为什么我们现在要用Gradle的原因。

下篇预告:gradle安装,基本语法,常用命令

感谢

1,《实战Gradle》

2,《Android Gradle权威指南》

3,  https://www.jianshu.com/p/2d887a9b69fb

4,  https://www.w3cschool.cn/gradle/6qo51htq.html

Gradle 从入门到精通系列(一):为什么要用 Gradle?

原文  https://mp.weixin.qq.com/s/7wmhi09-49WQp2N4KBuaUg
正文到此结束
Loading...