想要快速了解Maven,Ant和Gradle都是干嘛的?这也是我今天想做的。于是我先搜索了Maven的介绍,看得云里雾里的,因为并不能真正接触到maven,所以就觉得很抽象,直到我看到了独具匠心的这篇博客,觉得很生动,自己也算是对Maven有了初步的印象吧。
之后又看到了知乎问题 如何通俗地理解 Gradle?,看完前三个高赞回答,相信你就会和我一样对这三个名词有初步的了解啦。
摘抄一些比较启发的句段:
软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少….. 开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.但不知你有没有想过,软件开发也是一种工程作业,绝不仅仅是写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理…..),你每天都在build,clean,签名,打包,发布,有没有想过这种过程,也可以像代码一样被描述出来, 也可以被复用.
DSL的全称是Domain Specific Language,即领域特定语言,或者直接翻译成“特定领域的语言”,算了,再直接点,其实就是这个语言不通用,只能用于特定的某个领域,俗称“小语言”。因此DSL也算是语言。
总结一下,三者都是打包用的。
Name | Properties |
---|---|
Ant | 差异管理,自动化打包逻辑 |
Maven | 依赖管理(jar包下载、管理),偶尔也可以自动化打包 |
Gradle | maven的打包逻辑太死板,定制起来太麻烦,不如ant好用。gradle就是又能自动下jar包,又能自己写脚本,并且脚本写起来还比ant好用 |