gradle 为什么这么难用却能流行起来?

都2020年了,还是经常给人抛一个failed,一个构建工具,入门难度高,到现在还稀里糊涂,一个构建工具连个向下兼容都做不到,贵团队开发可真太难了呢,…
关注者
161
被浏览
605,763
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

我不喜欢xml,巨讨厌xml,我在努力滴把所用到的开源项目去xml化

但是

我在日常的构建工具中,则是:能用maven,就用maven,不用gradle

原因很简单,gradle的脚本,很难直接拷贝过来就run起来,基本上都会出各种乱七八糟的问题

也就是说,gradle会把构建工具给复杂化,如果你的项目本身,重心不在构建工具上的时候,并且maven能够很好解决你的问题的时候,那还是maven吧

maven的pom.xml,很少发生过,拷贝过来,林北不能用的情况

那什么时候用gradle呢?

一般是类库开发时候用gradle,有些时候不得不用gradle

比如gradle可以用来构建c++和swift的项目,maven基本上就只针对java/jvm上那些语言了

gradle上自定义脚本比较方便,所以涉及到aot,graal等大量自定义非常规配置的项目,也需要gradle

前者的例子就是javafx的build.gradle,有5000多行,看得我头疼,因为涉及到c++

后者的例子就是spring现在开始推荐缺省用gradle,他们的说法说是用gradle搞native image简单

安卓开发用gradle也是有传统的,因为安卓本身就涉及到大量native,gui和aot的东西,相比之下,spring和javafx都还是后来的了

但是如果你只是想整个项目,做点简单的业务,没有太多定制的东西,也不想浪费时间在构建工具上

那么你就用maven就好了,这样可以避开脚本

脚本的特点就是会让一个人把简单的问题复杂化,这不仅仅是gradle/groovy,javascript,python什么也是一样的,别人写的脚本,管他什么语言写的,我是连看都不想看,有看的功夫,我不如自己写一个,估计还更快,脚本就适合那种,用完就丢掉的破烂需求

要维护代码的话,选择静态类型是基本素养,ide遇到静态类型也能变得很智能,遇到动态类型的ide卡得你怀疑电脑是不是坏掉了

初心者如果没有什么特别追求的话,完全可以从maven入手

然后等你开始看源码,开始给开源项目贡献你代码的时候,再开始gradle不迟

编辑于 2023-04-19 22:12・IP 属地广东