{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問答專欄Q & A COLUMN

gradle比maven好為什么用的人少?

oysunoysun 回答0 收藏1
問題描述:網(wǎng)上都說gradle比maven好,為什么現(xiàn)在java開發(fā)都是用的maven的多,gradle少
收藏問題

10條回答

lanffy

lanffy

回答于2022-06-28 15:28

我們公司有幾個項目用過gradle,但大部分還是用maven,而且以后估計還會用maven,為什么呢?就是因為gradle的殺手锏:腳本太強大了。

早期的構建都是腳本化的,用sh或者bat來組合編譯,打包,部署等過程,后來進化到xml描述的ant工具,但還是可以寫很多自定義的任務,調用本地命令打包,各種任務組合,跟bat差不多,它們的共同特點就是:靈活!可以指定自己的依賴路徑,個性化打包過程。直到后來,maven出現(xiàn)了,只能通過不同的archtype來構建不同的項目,而每種項目類型的項目工程目錄是固定的,如果沒有問題,一個package命令就可以了,不再有個性化的配置(自己寫mojo例外),約定優(yōu)于配置是它的哲學!而且,你只要理解pom.xml基本配置即可。

gradle結合了maven的優(yōu)點,同時又保留了腳本調用的特點,很多時候給人太多選擇和機會,反而會將項目(特別是大型項目)的構建配置復雜化。導致新人很難掌握,其dsl語法是簡化略的groovy調用,有時候不了解groovy語言及其語法,很難理解和寫出好的構建腳本,學習成本高。


評論0 贊同0
  •  加載中...
pakolagij

pakolagij

回答于2022-06-28 15:28

沒覺得好用,每次androidstudio更新,gradle這東西都得更新,每次搞得手忙腳亂,麻煩死了

評論0 贊同0
  •  加載中...
LucasTwilight

LucasTwilight

回答于2022-06-28 15:28

第一到底是不是gradle比maven少,這個問題我沒看過數(shù)據(jù)不知道實際情況。但是從歷史角度和目前現(xiàn)狀來看maven日常接觸的是要多一些,畢竟技術這玩意就是一工具,用的熟練順手就好,沒必要一味求新。個人淺見

評論0 贊同0
  •  加載中...
Flands

Flands

回答于2022-06-28 15:28

用的多和少是量級上的。 gradle后于maven出現(xiàn),顯然是挑戰(zhàn)者身份的。大多老項目是否愿意替換成gradle阻力很大。 所以量上看不那么能說明問題。

目前新項目是否一定選擇gradle?相信大家都沒定論??梢奼radle作為繼任者的確沒有那么流行。 究其原因,可能有2點

1,配置表示語言問題。 項目表示類工具是一定要和項目解耦,因此注定了是個靜態(tài)配置。 maven用的老牌xml表示語言,雖然啰嗦,但是沒什么違和感,很容易理解。 反觀gradle為了簡潔,失去了表示直觀性。

2,配置隔離原則。gradle用靈活腳本能力,不但增加理解維護成本,還打破了配置和實現(xiàn)的邊界。配置是黑盒子,隔離理解成本的,不應該提供任何執(zhí)行和互操作能力。

這個是gradle的不好的地方,而減少構建時間已經(jīng)不是關鍵改進了。另外一個反例是sbt,用過的人相信都是一言難盡。

評論0 贊同0
  •  加載中...
Youngdze

Youngdze

回答于2022-06-28 15:28

我司有個項目用kotlin和java混寫的,gradle編譯,我從win換到mac,還是一直報gradle問題,最后我直接離職了。

評論0 贊同0
  •  加載中...
OldPanda

OldPanda

回答于2022-06-28 15:28

gradle現(xiàn)在是android studio的標配構建框架怎么說用得少呢?

android開發(fā)者目前烏泱烏泱一大片,而不會使用gradle基本沒法玩了,所以用的人很多的。

maven的使用者,主要還是是以前老的web開發(fā)者,雖然gradle強大得多,但由于學習成本的關系(gradle學習并不輕松),很多人還在堅持。

評論0 贊同0
  •  加載中...
haobowd

haobowd

回答于2022-06-28 15:28

真心難用

評論0 贊同0
  •  加載中...
stdying

stdying

回答于2022-06-28 15:28

gradle是主流了吧,也許是你身邊的人用gradle的少

評論0 贊同0
  •  加載中...
lykops

lykops

回答于2022-06-28 15:28

Gradle 使用真的比 Maven 的人要少嗎?

Github 文件名搜索的參數(shù)數(shù)據(jù):


圖1:是在 GitHub 中搜索 build.gradle 文件名的匹配數(shù)量有 970

圖2:是在 GitHub 中搜索 pom.xml 文件名的匹配數(shù)量有 930

當然這一組數(shù)據(jù)僅僅只能作為參考,并不完全準確,不過我們也能從中看出使用 Gradle 的人并不少,相反很多。


可能是題主身邊使用的比較少,造成這種原因可能主要原因有兩點。

  1. 不需要,使用 Maven 已經(jīng)能完成滿足需求;
  2. 學習成本,任何一個新的工具或語言都需要學習成本,而 Gradle 的學習相對于不熟悉 Groovy 語言的人來說會比較高,所以讓人望而卻步。

相反對于熟悉 Gradle 的人來說,他們會更習慣 Gradle 的工作方式,因為在配置上它比 Maven 要簡潔。配置比 Maven 簡潔這并不是 Gradle 最大的優(yōu)勢,而是 Automate Everything(自動化一切) 實現(xiàn)上要比 Maven 容易的多,這才是我真正喜歡 Gradle 的理由。




比如:

根據(jù)環(huán)境自動化配置,因為 *.gradle 文件其實就是 groovy 所以可以在構建腳本中直接就是使用 groovy 編碼。不僅支持條件語句,還直接使用 java、groovy 的 API,比如 System.getenv 獲取系統(tǒng)環(huán)境變量然后根據(jù)做一些操作就比 Maven 要容易很多。

repositories {

mavenLocal()

def aliyunEnabled = System.getenv("GITHUB_ACTIONS") == null

if (aliyunEnabled) {

maven {

url = "https://maven.aliyun.com/nexus/content/groups/public/"

}

}

mavenCentral()

}

在國內訪問 Maven 的中央倉庫下載依賴效率不高,所以采用 Aliyun 提供的鏡像倉庫速度會快得多,但本人一直喜歡白漂 ???? 使用免費的 GITHUB_ACTIONS,在 GITHUB_ACTIONS 構建時訪問ucloud云鏡像速度很慢,所以就有了上一段邏輯。如果你使用 Maven 的話可能需要使用 profile 來區(qū)分,在構建命令上加上 profile 相關的參數(shù),或者使用 settings.xml 的方式去配置鏡像,但是多人協(xié)作時每個人都需要配置。而在使用 Gradle 時就可以輕易的做到一次配置到處運行,不需要額外配置,不需要額外命令參數(shù)實現(xiàn)這一自動化構建。


更多的就不在舉例了,選擇一項工具,可能是客觀的原因,也可能是主觀原因。當然我覺得更多的是在你身邊,團隊有人帶頭去做這個事情。

同時也期望更多的人能使用 Gradle 來簡化你的工作,讓工作變得更加輕松,Automate Everything。

評論0 贊同0
  •  加載中...
Leo_chen

Leo_chen

回答于2022-06-28 15:28

gradle大型項目配置比較好一點,簡潔;

maven 相對來說比較冗余,但gradle還是基于maven 的,沒有多大的改變。習慣問題。

評論0 贊同0
  •  加載中...

相關問題

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<