Sudah 2020, Retrofit enak pakai Moshi atau GSON? (JSON Converter)
Hai…!
Di story kali ini, saya bakalan bercerita santuy saja tentang JSON converter. Buat yang belum tahu, JSON converter itu adalah alat yang digunakan untuk mengonversi kalimat JSON (string) menjadi sebuah obyek atau sebaliknya. Mengonversi obyek menjadi kalimat JSON. Biasanya kalo sudah jadi sebuah obyek dalam bahasa pemrogramannya, kita bisa mengakses atributnya melalui variabel untuk diolah lebih dalam.
Perbedaannya pas ngekoding di Network Data Class-nya.
Ini Moshi:
data class UserEntity(@Json(name = “id”) val id: String,
@Json(name = “name”) val name: String)
Ini Gson:
data class UserEntity(@SerializedName(name = “id”) val id: String,
@SerializedName(name = “name”) val name: String)
Perbedaannya pas ngekoding di obyek retrofit-nya.
Ini Moshi:
...
.addConverterFactory(MoshiConverterFactory.create())
...
Ini Gson:
...
.addConverterFactory(GsonConverterFactory.create())
...
Terus bedanya apa lagi?
Kalo yang orang bilang sih performanya.
Ini saya cuma mengutip beberapa bagian dari medium orang lain. Ini artikelnya:
Jadi di artikel itu, dia membandingkan dari keempat library JSON Converter yang dia pakai. Lalu dia membuat empat ukuran yang jadi pembandingnya:
- Waktu yang dihabiskan untuk mengubah kalimat JSON dalam mil detik.
- Waktu yang dihabiskan untuk mengubah obyek ke JSON dalam mil detik.
- Panjang nya si JSON (Jumlah karakter dalam kalimat JSON).
- Metode atau fungsi yang ada pada setiap library.
Terlihat kan apa mana yang lebih cepat di antara GSON dan Moshi terutama dalam deserializaition?
Kenapa yang dilihat deseralization-nya? Karena aplikasi android biasanya digunakan untuk mengonsumsi API yang bentuk awalnya JSON ke dalam obyek Kotlin atau Java. Bukan menjadi layanan penyedia API untuk aplikasi lain.
Ya, cukup sekian story ringan tapi berbobot kali ini. Tetap semangat dalam belajar!! 😄