第 1 章 · Gradle 是什么 & 为什么这么火

5 个交互式演示帮你直观理解 Gradle 的诞生背景、与 Maven 的差距、增量构建的威力、依赖管理的智能。

📜 构建工具与 Gradle 简史

Gradle 是 JetBrains 投资孵化、Hans Dockter 主导的项目,2007 年立项,2012 年发布 1.0,2013 年被 Google 钦定为 Android 标配,从此一飞冲天。

1976Make 发布。最早的构建工具,看文件时间戳决定要不要重编译,但**没有依赖管理**。
2000Apache Ant。Java 时代第一波构建工具,XML 描述任务,但依赖要手动放 .jar。
2002Apache Ivy。给 Ant 补丁式地加上依赖管理。
2004Apache Maven。"约定优于配置" + Central 仓库,统一了 Java 生态依赖管理。
2007Gradle 项目立项。Hans Dockter 苦于 Maven 的 XML 啰嗦决定自己造一个。
2012Gradle 1.0 正式发布。Groovy DSL。
2013🎉 Google I/O 宣布 Android Studio + Gradle 标配。引爆全球。
2016Kotlin DSL 1.0 推出,类型安全 + IDE 智能提示。
2018Gradle 5.0 引入 Build Cache,本地 + 远程缓存。
2019Gradle 6.0 引入依赖能力 (capabilities) 解决变体冲突。
2021Gradle 7.0 Configuration Cache 稳定,配置阶段也能缓存。
2024Gradle 8.x,启动速度大幅优化,K2 编译器全面支持。

💡 鼠标悬停每条时间线可放大查看(hover 高亮)。

⚔️ 同样需求:Maven 36 行 XML vs Gradle 16 行 Kotlin

点击上方按钮切换不同需求的对比。Gradle 用 DSL 脚本 类型安全 可编程 等特性大幅简化代码。

⚡ 增量构建演示:改 1 个文件 vs 全量重建

点击下面任意一个文件来"修改"它,然后跑构建看看 Maven 和 Gradle 的差距。

📂 项目源码(点击文件模拟修改)

已修改文件数
0
Maven 重编译数
--
Gradle 重编译数
--
速度差距
--

📺 构建输出

点击上方按钮开始构建...

💡 关键观察:Maven 默认无增量,每次 mvn install 都全量重编译;Gradle 通过 input/output 指纹机制跳过没变的 Task,标 UP-TO-DATE。100 个文件改 1 个 → Gradle 只编译 1 个。

🔗 依赖管理演示:Gradle 怎么自动拉传递依赖 + 解冲突

💡 关键观察:依赖会**传递**(A 依赖 B、B 依赖 C,则 A 也得到 C)。版本冲突时 Gradle 默认用最高版本策略仲裁,避免运行时类找不到。

🌍 Gradle 全场景能力

Gradle 起家是 Java 后端构建,但今天它的应用范围远不止此 —— 从 Android、Spring Boot 到 C++、Swift、Kotlin Multiplatform,都能见到它的身影。

📱
Android 开发
Google 强制标配,AGP(Android Gradle Plugin)深度集成。
⭐⭐⭐⭐⭐
Java 后端
Spring Boot 官方双轨支持 Maven + Gradle。
⭐⭐⭐⭐
🅺
Kotlin 项目
Ktor / Spring Boot Kotlin / Kotlin/JS / KMP 全用 Gradle。
⭐⭐⭐⭐⭐
🏗
多模块工程
Convention Plugin、Composite Build、Version Catalog。
⭐⭐⭐⭐
🚦
CI/CD 流水线
Build Cache 跨 CI 复用产物,把构建从 30min 压到 3min。
⭐⭐⭐⭐
🔄
Kotlin Multiplatform
编排 iOS / Android / JS / Native 多目标构建。
⭐⭐⭐⭐
🔧
C++ / Swift
原生插件支持,但生态比 CMake / SPM 弱。
⭐⭐
📦
发布构件 / Plugin
发到 Maven Central / Plugin Portal,跨语言可复用。
⭐⭐⭐⭐

📈 Gradle 在企业里的真实应用

公司使用场景规模
GoogleAndroid Studio / 内部 Java 后端数百万行 Gradle 脚本
NetflixJVM 微服务全栈2000+ 服务
LinkedInAndroid / 后端全栈 Gradle
AirbnbAndroid 客户端1000+ 工程师
字节跳动抖音 Android / 后端 Kotlin大规模 KMP + Compose
京东App + 后端微服务多技术栈混合
JetBrains所有 IDE 产品 + Kotlin 编译器原生 Kotlin DSL
Spring TeamSpring Boot / Spring Framework 自身构建2018 起 Maven 转 Gradle