Xamarin DependencyService ile Platform Bağımlı Kod
Xamarin DependencyService ile Platform Bağımlı Kod
Xamarin DependencyService Nedir?
Xamarin DependencyService, Xamarin.Forms projelerinde platforma özel kodların ortak bir arayüz üzerinden çağrılmasını sağlayan güçlü bir yapıdır. Bu sayede, Android, iOS ve UWP gibi farklı platformlara özgü işlevler arka planda ayrı ayrı yazılır fakat kodun çağrıldığı yer tamamen platformdan bağımsız olur. DependencyService ile örneğin cihaz titreşimi, dosya okuma ve yazma veya özel bildirimler gibi işlevler kolayca merkezi olarak yönetilebilir.
DependencyService Nasıl Çalışır?
Platform bağımlı kod geliştirmek için ilk adım, ortak projede bir arabirim (interface) tanımlamaktır. Her platformda bu arabirimi uygulayan sınıflar oluşturulur ve "DependencyService.Register" veya öznitelik (attribute) ile sisteme bildirilir. Ortak kodda ise DependencyService.Get<T>() çağrısı ile ilgili platforma özel implementasyon çekilir. Böylece uygulama tek noktadan farklı platformlara erişim sağlar.
Basit Bir Kod Örneği
// Ortak projede arayüz tanımı
public interface IToastMessage
{
void Show(string message);
}
// Android projesinde implementasyon
[assembly: Xamarin.Forms.Dependency(typeof(ToastMessageImplementation))]
public class ToastMessageImplementation : IToastMessage
{
public void Show(string message)
{
Android.Widget.Toast.MakeText(Android.App.Application.Context, message, Android.Widget.ToastLength.Short).Show();
}
}
// Ortak koddan çağırma
DependencyService.Get<IToastMessage>()?.Show("Merhaba Xamarin DependencyService!");
DependencyService Kullanmanın Artıları
Xamarin DependencyService, platformlar arası kod tekrarını önler ve ortak kodda platform bağımlı fonksiyonları yönetmeyi basitleştirir. Sadece gerekli platform kodunu yazıp, geri kalanı işte bu yapı sayesinde rahatça kontrol edebilirsiniz. Böylece sürdürülebilir ve bakımı kolay bir kod tabanına ulaşmak mümkündür.
Sonuç
Xamarin DependencyService ile platform bağımlı işlemleri güvenli ve esnek bir şekilde yönetmek mümkündür. Ortak projedeki kodunuzu minimum tekrarla maksimum uyumlulukta geliştirmek için DependencyService en iyi yöntemlerden biridir. Mobil uygulama geliştirilirken bu yapıyı etkin şekilde kullanmak hem ürün kalitesi hem de geliştirici konforu açısından büyük avantaj sağlar.

Yorum Gönder