Tasarım Kodlama

Gradle Nedir?

Gradle, her türlü yazılımı geliştirebilen mükemmel bir açık kaynaklı inşaat aracıdır. Bu araç, 13 yıl önce Hans Dockter, Szczepan Faber Adam Murdoch, Luke Daley, Peter Niederwieser, Daz DeBoer ve Rene Gröschke adında bir geliştiriciler topluluğu tarafından geliştirildi. Apache Ant ve Apache Maven tabanlı bir otomasyon aracıdır. Bu araç, endüstri standartlarına sahip uygulamalar geliştirme yeteneğine sahiptir ve Groovy, C++, Java, Scala ve C dahil olmak üzere çeşitli dilleri destekler. Gradle ayrıca derleme ve paketleme ile test, dağıtım ve yayınlamaya kadar geliştirme görevlerini kontrol edebilir.

Gradle’ın Tarihi

Gradle, Ant ve Maven ile karşılaştırıldığında en kararlı araçtır. Bu araç, ilk olarak 2007’nin sonlarında, yalnızca onların yerini alan değil, aynı zamanda dezavantajları da kapsayan öncekilere bir alternatif olarak piyasaya sürüldü. Kararlı sürümü 2019 yılında piyasaya sürüldü ve şu anda en son sürüm 6.6 ile birlikte.

Gradle’ın Çalışması

Gradle projesi inşa edildiğinde bir veya birden fazla projeden oluşur. Bu projeler görevlerden oluşmaktadır. Her iki terimin de temellerini anlayalım.

  1. Gradle Projeleri: Gradle tarafından oluşturulan projeler bir web uygulaması veya bir JAR dosyasıdır. Bu projeler bir veya daha fazla görevin birleşimidir. Bu projeler, çeşitli geliştirme yaşam döngülerinde konuşlandırılabilir. Bir Gradle projesi, görev olarak adlandırılabilecek sayıda N tuğla ile bir duvar inşa etmek olarak tanımlanabilir.
  2. Gradle Görevleri: Görevler, belirli bir rolden sorumlu olan işlevlerdir. Bu görevler, sınıfların oluşturulmasından, Javadoc’tan veya Gradle projesinin tüm gelişimini sağlayan depoya arşiv yayınlamaktan sorumludur. Bu görevler, Gradle’ın belirli bir çıktı için hangi girdinin işleneceğine karar vermesine yardımcı olur. Yine görevler iki farklı şekilde kategorize edilebilir:
    • Varsayılan Görev: Bunlar, kullanıcılara Gradle tarafından sağlanan önceden tanımlanmış görevlerdir. Bunlar önceden kullanıcılara sağlanır ve kullanıcılar kendi başlarına herhangi bir görev bildirmediğinde yürütülür. Örneğin, kullanıcılara sağlanan varsayılan görevleri bir Gradle projesine başlatın ve sarın
    • Özel Görev: Özel görevler, geliştirici tarafından kullanıcı tanımlı bir görevi gerçekleştirmek için geliştirilen görevlerdir. Bunlar, bir projede belirli bir rolü yürütmek için geliştirilmiştir. Aşağıda bir Özel Görevin nasıl geliştirileceğine bir göz atalım.

Gradle’ın Özellikleri:

  • IDE desteği: Gradle, çeşitli IDE’leri (Entegre Geliştirme Ortamı) destekler. Bu, birden çok geliştirme ortamını destekleyen yerleşik bir araçtır.
  • Java’ya aşina: Gradle projelerinin çalışması için Java ortamı JVM’ye ihtiyacı vardır. Gradle’ın özellikleri de Java’ya benzer. Ayrıca Java tarafından desteklenen API’leri de destekler ve geliştiriciler için en büyük avantajdır ve çok yönlü hale getirir.
  • Görevler ve  Repository Desteği: Gradle aracı, Ant ve Maven oluşturma araçlarının özelliklerini destekler. Ant projesinin Gradle ortamına aktarılmasını sağlar. Ayrıca Maven deposunun içe aktarılmasını destekler ve altyapının mevcut bir projede kullanılmasına izin verir.
  • Derlemeler: Gradle, yalnızca son derlemeden önce yapılan değişiklikleri derliyormuş gibi, gerekli görevler için derlemeler sağlar. Yükleme süresini azaltır.
  • Ücretsiz ve Açık Kaynak: Gradle, onu kullanıcı dostu yapan ve ASL (Apache Lisansı) altında lisanslanan açık kaynaklı bir araçtır.
  • Çoklu Tasarım Oluşturma Desteği: Gradle tarafından oluşturulmuş araçlar, bir kök proje tasarlarken birkaç alt proje içerebileceğinden ve bu projelerde birden fazla projeye sahip olabileceğinden, birden çok yapı desteği uygular. Gradle’ın yardımıyla, düzeni kolayca oluşturabilirsiniz.

Gradle kullanmanın artıları

  • Bildirime Dayalı Yapılar: Gradle’ın Groovy dili, bildirimsel dil öğeleri sağlar. Değişiklikler için geçirgen kaynak kodunu kontrol eder ve ardından derler.
  • Ölçeklenebilirlik: Gradle ile oluşturulan uygulamalar, üretkenliği artırdığı için yüksek düzeyde ölçeklenebilir. İşin organize olmasına yardımcı olan model altyapısında çalışmamızı sağlar.
  • Derin API: Bu API’nin desteğiyle geliştiriciler, yapılandırmayı kolayca özelleştirebilir ve yürütme davranışını izleyebilir.
  • Ücretsiz açık kaynak: Gradle, iyi topluluk desteğine sahip açık kaynaklı bir projedir.
  • Hareket kolaylığı: Gradle, herhangi bir proje yapısına uyum sağlama özelliğine sahiptir. Ayrıca proje geliştirmeye yardımcı olan eklentilerin oluşturulmasını da destekler.

Gradle kullanmanın eksileri

  • Teknik Uzmanlık: Gradle ile görevler oluşturmak için önceden teknik beceriler gereklidir.
  • Dil Bağımlılığı: Gradle’ı kullanmak için Groovy veya Java dili hakkında temel bilgilere sahip olmak gerekir.
  • Entegrasyon: Eyleme geçmeden önce düzgün bir şekilde yapılandırılması gerektiğinden, özelliklerin eklenmesi oldukça karmaşıktır.
  • Anlaşılabilirlik: Gradle belgeleri oldukça kapsamlıdır. Terimlerin önceden bilinmesini gerektirir.

Yorum yap