Android'de Moshi Kullanımı


Görsel Referansı


Moshi Nedir?


Moshi, Square tarafından Android ve Java için geliştirilen JSON kütüphanesidir.

Android uygulamalarda genellikle API call ile JSON formatındaki data ile işlem yapılır. Bu nedenle serialize ve deserialize işlemleri yapmamız gerekir. Bu işlemleri manuel yapabileceğimiz gibi daha kolay ve hataları ortadan kaldıracak şekilde kütüphaneler yardımıyla da yapabiliriz. Bunlardan biri de JSON işlemleri için kullanılan kütüphanelerin yeni nesil versiyonu olan Moshi'dir. Moshi'nin GitHub sayfasını buradan inceleyebilirsiniz.


JSON işlemleri için, Moshi'den önce Google tarafından geliştirilen Gson kütüphanesini kullanıyorduk. Gson'un GitHub sayfasına buradan erişebilirsiniz.


Peki Neden Moshi?


  • Öncelikle Gson, Kotlin için yazılmamıştır ve bu nedenle güncel bir kütüphane değildir. Moshi'nin Kotlin destekli olması, öne geçen özelliklerinden bir tanesi konumunda.

  • Moshi, güvenirlilik ve error handling konularında Gson'a göre daha iyi.

  • Gson; serialize, deserialize için yalnızca reflection kullanır. Moshi, reflaction'a ek olarak codegen adapter'i kullanımıyla Gson'a göre daha hızlıdır.

  • Moshi'nin serialize hataları Gson'a göre daha okunabilir.

  • Gson, alanlar için default değerler oluşturmuyor.

  • Moshi, Okio paketlerini dikkate almazsak daha küçük boyuttadır.


Mevcut projenizde Gson kullanıyorsanız güncel Gson versiyonu ile çalışmaya devam edebilirsiniz. Ancak yukarıdaki farklardan dolayı özellikle yeni bir proje oluşturacaksak artık Gson yerine Moshi kullanımı öneriliyor.


Bu bilgilerden sonra Moshi ve Retrofit kullanımı için örnek bir uygulama yapabiliriz.


Uygulamada TMDB API yardımıyla popüler filmleri çekip Moshi kullanarak RecyclerView'da listeleyeceğiz. Bunun için siz de <