Teknik Detaylar
Calory Tracker uygulaması:
MVVM mimarisinde uygulama geliştirmede
kullanılan bir desendir ve üç ana bileşenden oluşur: Model, View ve ViewModel. Model, veri ve iş
mantığını temsil eder; View, kullanıcı arayüzünü (UI) ve kullanıcı etkileşimlerini yönetir;
ViewModel ise View ve Model arasında bir köprü görevi görür, UI mantığını içerir ve Model'den gelen
verileri UI için uygun formata dönüştürür. MVVM, veri bağlama (data binding) özelliği sayesinde View
ve ViewModel arasındaki bağlantıyı otomatize eder, böylece kodun daha temiz, daha iyi organize
edilmiş ve daha kolay test edilebilir olmasını sağlar.
Multi Moduler genellikle büyük ve karmaşık yazılım projelerinde kullanılan bir yaklaşımdır ve projeyi daha küçük, yönetilebilir, tekrar kullanılabilir ve bağımsız modüllere ayırır. Bu modüller, özelliklere, işlevselliklere veya katmanlara göre ayrılabilir ve her biri kendi yapılandırma dosyaları, kaynak kodları ve bağımlılıkları ile bağımsız olarak geliştirilebilir. Multi-module yapısı, projenin ölçeklenebilirliğini, bakımını ve test edilebilirliğini artırır ve ekip üyelerinin aynı anda farklı bölümler üzerinde çalışabilmesini sağlar.
Dagger-Hilt Android uygulamaları için
Dagger'ın kolaylaştırılmış bir sürümüdür ve bağımlılık enjeksiyonunu basitleştirmek için
tasarlanmıştır, böylece geliştiriciler daha az boilerplate kodu ile bağımlılık enjeksiyonunu kolayca
uygulayabilirler.
Room Android Jetpack'in bir parçası olan ve
SQLite veritabanı işlemlerini kolaylaştıran bir kalıcılık kütüphanesidir. Room, SQL sorgularını
yazmayı kolaylaştırır ve compile-time kontrolü sağlayarak hataları azaltır.
Coroutines Android'de asenkron
programlamayı kolaylaştırmak için Kotlin coroutines ile entegre bir yaklaşım sunan bir kütüphanedir.
Retrofit Android ve Java uygulamalarında
REST API çağrılarını yönetmek için kullanılan, tip güvenliği sağlayan ve ağ işlemlerini
kolaylaştıran bir HTTP istemci kütüphanesidir.
Coil Kotlin tabanlı, modern ve hafif
bir Android görüntü yükleme kütüphanesidir. Bu kütüphane, Kotlin coroutines kullanarak asenkron ve
performanslı bir şekilde görüntüleri yüklemek için tasarlanmıştır ve Android uygulamalarında görüntü
yükleme işlemlerini kolaylaştırır.
Junit Test Java programlama dilinde yazılan uygulamalar için popüler bir birim test çerçevesidir. Geliştiricilere, kodlarının beklenen davranışları gösterip göstermediğini doğrulamak için basit ve etkili bir yol sunar. JUnit, test durumlarını tanımlamak için açıklayıcı (annotation) tabanlı bir yapı kullanır ve otomatik testlerin kolayca yazılmasını ve çalıştırılmasını sağlar, böylece yazılım geliştirme sürecinin kalitesini ve güvenilirliğini artırır.