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

栏目: IT技术 · 发布时间: 4年前

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

点击关注上方“ 大前端圈

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

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

  1. Gradle是什么

  • DSL

  • Groovy

  • Gradle有什么特性

  • 为什么要用Gradle

  • 一,Gradle是什么

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

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

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

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

    DSL概念介绍:

    • 全称:

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

    • 有哪些常见的DSL语言:

    xml

    html

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

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

    Groovy介绍

    a. Groovy:

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

    2. 结合了 PythonRuby 和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?


    以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

    查看所有标签

    猜你喜欢:

    本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

    jQuery 技术内幕

    jQuery 技术内幕

    高云 / 机械工业出版社 / 2014-1-1 / 99元

    本书首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jQuery的工作原理有大致的印象;进而通过“构造 jQuery 对象”章节分析了构造函数 jQuery() 的各种用法和内部构造过程;接着详细分析了底层支持模块的源码实现,包括:选择器 Sizzle、异步队列 Deferred、数据缓存 Data、队列 Queue、浏览器功能测试 Support;最后详细分析了功能模块的源码实......一起来看看 《jQuery 技术内幕》 这本书的介绍吧!

    HTML 压缩/解压工具
    HTML 压缩/解压工具

    在线压缩/解压 HTML 代码

    URL 编码/解码
    URL 编码/解码

    URL 编码/解码

    HSV CMYK 转换工具
    HSV CMYK 转换工具

    HSV CMYK互换工具