building tools

1、building tools 爲何主流?html

Gradle 是目前比較流行的構建工具之一,Android Studio 中集成的就是 Gradle,並針對 Android 應用開發了插件 Gradle plugin 。在我看來,編譯和構建環節本就密不可分,由此猜想兩者之間會不會有版本兼容的考慮,查看文檔果真如此。java

Gradle Plugin 的版本說明中,對 Gradle 和 Build Tools 的版本都要最低要求。git

1.Gradle Plugin 基於 Gradle,Build-Tools 生成的。
2.Platform 基於 Platform-Tools,Build-Tools 生成的。
3.Tools 基於 Platform-Tools 生成的。github

 

2、爲何要使用building tools?apache

  爲了將代碼投入生產,您須要擁有能夠運行和部署的可用軟件映像。 這就是構建工具的用武之地。它們將您的源代碼編譯成可執行程序。 現在,構建工具爲表格帶來了更多功能,而後構建您的應用程序,同時還具備依賴關係管理等功能。服務器

  在Java世界中,有三種主要的構建工具:Ant,Maven和Gradle。 這些工具在實際生產環境以前,可是這個過程的必要元素,因此咱們在這裏介紹它們。 這些工具的主要區別在於每一個工具的工做量,可用性和外部鏈接量。app


  螞蟻
Apache的螞蟻

Apache的Ant是一個開源Java庫和命令行工具,用於自動化軟件構建過程。 它主要用於構建Java應用程序。 Ant是2000年建立的,它是Java空間中的原始構建工具,至今仍在使用。 若是你想要任何依賴管理功能,你可能想要包含Ivy。當使用它時:若是你想要幾乎徹底控制你的構建工具如何運行,並願意付出額外的努力來實現它。 價格:免費yii

優勢:maven

  • XML基礎意味着它適用於自動工具。
  • 一旦啓動並運行,Ant幾乎能夠徹底控制事情的發生。
  • 豐富的插件生態系統開闢了許多可能性,若是您不須要的話,能夠輕鬆建立自定義插件。
  • 紮實而普遍的文檔。

缺點:工具

  • XML基礎意味着更少的自定義功能。
  •  Ant讓你幾乎完成了本身的一切,這多是使人生畏的。 
  • 構建腳本一般很是不一樣,這使得理解其餘項目變得困難。 
  • 做爲一種古老的工具,社區已經至關死亡。

Maven

Maven的標誌 - 黑色白底

Apache的Maven是一個主要用於Java項目的構建自動化工具,而且是當今Java開發人員最經常使用的選擇。 與Apache Ant不一樣,它使用構建過程的約定,只須要寫下異常。什麼時候使用它:若是你想要事實上的工具和插件存儲庫。 若是你用其餘工具運行任何不尋常的東西,Maven會支持它。 因爲其快速的構建速度,很是適合大型企業。

價格:免費

優勢:

  • 普遍的插件生態系統。
  • 構建之間的通用結構使得理解其餘項目變得容
  • 徹底支持幾乎全部CI,app服務器或IDE工具。

缺點:

  • 不少依賴項和插件的下載要求。
  • 文檔質量上下。
  • 社區很安靜。
  • 定製很薄弱。

搖籃

GradleLogoReg

Gradle是一個開源構建自動化系統。 隨着2012年發佈的1.0版本,Gradle旨在「將Ant的強大功能和靈活性與Maven的依賴管理和約定結合起來,以更有效的方式構建。」它的構建腳本是用Groovy編寫的,而不是XML,它建立了一個主機與Ant或Maven相比具備不一樣的優缺點。 儘管它是這個領域的一個新工具,但它被普遍採用。當使用它時:Gradle專爲多項目環境和增量構建而設計。 若是你對Groovy很滿意或者願意去那裏,這很好。 它對我的項目和中小企業也頗有用。 價格:免費優惠 

 

  • DSL基礎意味着您擁有更加可定製和簡化的工具。
  • 沒有必需的構建腳本樣板能夠提供更簡單的體驗。
  • 優秀的文檔和活躍的社區。 例如,Gradleware是一家旨在經過諮詢和其餘指導促進Gradle的採用和使用的公司。
  • 建立自定義插件很簡單。

缺點:

  • DSL基礎意味着您擁有一個不那麼簡單和標準化的工具。
  • 做爲街區的新生兒,插件等生態系統不太發達。
  • 做爲一種新工具,它對CI工具和應用服務器的支持並不像Maven或Ant那樣

Ant vs. Maven vs. Gradle:您使用的構建工具取決於您做爲開發人員的需求和偏好。 若是構建速度是您最重要的元素,Maven多是最好的。 若是社區和文檔很重要,那麼Gradle可能就是最佳選擇。 若是徹底控制是你想要的,那麼你應該傾向於Ant。 全部這三個都是不錯的選擇,因此它真正歸結爲你和你的環境的不一樣風味和怪癖。 若是你想順其天然,Gradle彷佛在大多數使用狀況下都被評爲最佳。

原文:https://drprincess.github.io/2018/01/11/Build-Tools&Platform-Tools&Tools&platform&Gradle%E8%B2%8C%E4%BC%BC%E5%A4%8D%E6%9D%82%E7%9A%84%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB/

https://translate.google.com.hk/translate?hl=zh-CN&sl=en&u=https://devopscube.com/list-of-popular-open-source-java-build-tools/&prev=search

相關文章
相關標籤/搜索