Gradle - Tổng quan
"Gradle is an open source build automation system"
Ant và Maven đã chia sẻ thành công đáng kể trên thị trường JAVA. Ant là công cụ xây dựng đầu tiên được phát hành vào năm 2000 và nó được phát triển dựa trên ý tưởng lập trình thủ tục. Sau đó, nó được cải tiến với khả năng chấp nhận các plug-in và quản lý phụ thuộc qua mạng với sự trợ giúp của Apache-IVY. Hạn chế chính là XML như một định dạng để viết các kịch bản xây dựng, phân cấp không tốt cho lập trình thủ tục và XML có xu hướng trở nên lớn không thể quản lý được.
Maven được giới thiệu vào năm 2004. Nó đi kèm với rất nhiều cải tiến sau đó là ANT. Nó thay đổi cấu trúc và tiếp tục sử dụng XML để viết các đặc tả xây dựng. Maven dựa vào các quy ước và có thể tải xuống các phần phụ thuộc qua mạng. Những lợi ích chính của maven là vòng đời của nó. Trong khi tuân theo cùng một vòng đời cho nhiều dự án liên tục. Điều này đi kèm với chi phí linh hoạt. Maven cũng gặp phải một số vấn đề trong việc quản lý sự phụ thuộc. Nó không xử lý tốt các xung đột giữa các phiên bản của cùng một thư viện và các tập lệnh xây dựng tùy chỉnh phức tạp thực sự khó viết bằng maven hơn trong ANT.
Cuối cùng thì Gradle cũng thành hình vào năm 2012. Gradle mang một số tính năng hiệu quả từ cả hai công cụ.
Các tính năng của Gradle
Sau đây là danh sách các tính năng mà Gradle cung cấp.
Declarative builds and build-by-convention- Gradle có sẵn với Ngôn ngữ dành riêng cho Miền (DSL) riêng biệt dựa trên ngôn ngữ Groovy. Gradle cung cấp một phần tử ngôn ngữ khai báo. Các phần tử đó cũng cung cấp hỗ trợ xây dựng theo quy ước cho Java, Groovy, OSGI, Web và Scala.
Language for dependency based programming - Ngôn ngữ khai báo nằm trên đỉnh của biểu đồ nhiệm vụ mục đích chung, mà bạn hoàn toàn có thể tận dụng trong quá trình xây dựng của mình.
Structure your build- Gradle cuối cùng cho phép bạn áp dụng các nguyên tắc thiết kế chung cho công trình của mình. Nó sẽ cung cấp cho bạn một cấu trúc hoàn hảo để xây dựng, VẬY bạn có thể thiết kế cấu trúc tốt và dễ dàng bảo trì, dễ hiểu.
Deep API - Sử dụng API này, nó cho phép bạn theo dõi và tùy chỉnh cấu hình và hành vi thực thi của nó đối với cốt lõi của nó.
Gradle scales - Gradle có thể dễ dàng tăng năng suất của họ, từ các bản xây dựng dự án đơn giản và đơn lẻ đến các bản xây dựng đa dự án cho doanh nghiệp lớn.
Multi-project builds- Gradle hỗ trợ các bản dựng đa dự án và nó hỗ trợ các bản dựng từng phần. Nếu bạn xây dựng một tiểu dự án, Gradle sẽ đảm nhận việc xây dựng tất cả các tiểu dự án mà nó phụ thuộc vào.
Different ways to manage your builds - Gradle hỗ trợ các chiến lược khác nhau để quản lý sự phụ thuộc của bạn.
Gradle is the first build integration tool- Gradle được hỗ trợ đầy đủ cho các nhiệm vụ ANT của bạn, cơ sở hạ tầng kho lưu trữ Maven và lvy để xuất bản và truy xuất các phụ thuộc. Gradle cũng cung cấp một công cụ chuyển đổi để chuyển tập lệnh Maven pom.xml sang Gradle.
Ease of migration- Gradle có thể dễ dàng thích ứng với bất kỳ cấu trúc nào bạn có. Do đó, bạn luôn có thể phát triển bản dựng Gradle của mình trong cùng một nhánh nơi bạn có thể tạo tập lệnh trực tiếp.
Gradle Wrapper- Gradle Wrapper cho phép bạn thực thi các bản dựng Gradle trên các máy chưa cài đặt Gradle. Điều này rất hữu ích cho việc tích hợp liên tục các máy chủ.
Free open source - Gradle là một dự án mã nguồn mở và được cấp phép theo Giấy phép Phần mềm Apache (ASL).
Groovy- Kịch bản xây dựng của Gradle được viết bằng Groovy. Toàn bộ thiết kế của Gradle được định hướng sử dụng như một ngôn ngữ chứ không phải là một khuôn khổ cứng nhắc. Và Groovy cho phép bạn viết kịch bản của riêng mình với một số nội dung trừu tượng. Toàn bộ API Gradle được thiết kế hoàn toàn bằng ngôn ngữ Groovy.
Tại sao Groovy?
API Gradle hoàn chỉnh được thiết kế bằng ngôn ngữ Groovy. Đây là một lợi thế của DSL nội bộ so với XML. Gradle là công cụ xây dựng mục đích chung ở cốt lõi của nó; trọng tâm chính của nó là các dự án Java. Trong các dự án như vậy, các thành viên trong nhóm sẽ rất quen thuộc với Java và tốt hơn hết là một bản dựng nên càng minh bạch càng tốt cho tất cả các thành viên trong nhóm.
Các ngôn ngữ như Python, Groovy hoặc Ruby tốt hơn cho xây dựng khung công tác. Tại sao Groovy được chọn là vì cho đến nay nó mang lại sự minh bạch lớn nhất cho những người sử dụng Java. Cú pháp cơ bản của Groovy giống như Java. Groovy cung cấp nhiều hơn thế nữa.