Fast Android Networking vs Retrofit vs Volley |
1. Fast Android Networking (FAN)
Library ini dibuat oleh Amit Shekhar asal India. Dalam repository di Github-nya dia mengklaim bahwa Library buatannya tersebut lebih baik dan lebih cepat daripada Retrofit, "Fast Android Networking Library is a powerful library for doing any type of networking in Android applications which is made on top of OkHttp Networking Layer". Fast Android Networking ini juga memiliki fitur diantaranya GET, POST, DELETE, HEAD, PUT, PATCH yang sama dengan Retrofit.
Tetapi kalian juga bisa menambahkan Priority untuk proses HTTP Request dan JSON Parsing yaitu LOW, MEDIUM, HIGH, IMMEDIATE yang mirip dengan Volley. Jadi ibaratnya Fast Android Networking ini adalah gabungan antara Retrofit dan Volley. Saya sudah mencobanya dan hasilnya memang cukup baik dalam melakukan HTTP Request dan JSON Parsing. Sampai saat ini, saya masih setia menggunakan Library Fast Android Networking ini😁
Fast Android Networking |
AndroidNetworking.get(URL)
.addPathParameter("pageNumber", "0")
.addQueryParameter("limit", "3")
.addHeaders("token", "1234")
.setTag("test")
.setPriority(Priority.LOW)
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
AndroidNetworking.post(URL)
.addBodyParameter("firstname", "Amit")
.addBodyParameter("lastname", "Shekhar")
.setTag("test")
.setPriority(Priority.MEDIUM)
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
AndroidNetworking.download(URL,dirPath,fileName)
.setTag("downloadTest")
.setPriority(Priority.MEDIUM)
.build()
.setDownloadProgressListener(new DownloadProgressListener() {
@Override
public void onProgress(long bytesDownloaded, long totalBytes) {
// do anything with progress
}
})
.startDownload(new DownloadListener() {
@Override
public void onDownloadComplete() {
// do anything after completion
}
@Override
public void onError(ANError error) {
// handle error
}
});
AndroidNetworking.upload(URL)
.addMultipartFile("image",file)
.addMultipartParameter("key","value")
.setTag("uploadTest")
.setPriority(Priority.HIGH)
.build()
.setUploadProgressListener(new UploadProgressListener() {
@Override
public void onProgress(long bytesUploaded, long totalBytes) {
// do anything with progress
}
})
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
2. Retrofit
Retrofit ini merupakan Library turunan dari OkHTTP yang dibuat oleh Square yang digunakan sebagai REST Client pada Android, yang pasti akan memudahkan kita. Karena kita tidak perlu lagi untuk membuat Method sendiri untuk menggunakan REST Client API dari Backend. Library ini menyediakan framework yang powerfull untuk authenticating dan berinteraksi dengan API dengan mengirimkan request menggunakan OkHTTP. Library Retrofit ini juga banyak digunakan oleh perusahaan-perusahaan Startup dalam aplikasi Mobile-nya, salah satunya Tokopedia dan OVO. Tidak hanya itu, aplikasi Sosmed yang kita gunakan sehari-hari juga menggunakan Library Retrofit.
Retrofit |
3. Volley
Volley adalah library HTTP yang mempermudah dan yang terpenting mempercepat networking untuk aplikasi Android. Tetapi Library buatan Google ini kurang populer dibanding kedua Library sebelumnya, karena fitur yang dimilikinya pun sedikit. Secara default, Volley menggunakan metode sinkronisasi. Jadi kalian tidak perlu membuat sebuah Method atau fungsi yang menggunakan Class Asynctask. Dalam penggunaannya memang 'sedikit' sulit. Volley tidak cocok untuk operasi download atau streaming yang besar karena Volley menyimpan semua respons dalam memori selama mengambil data API.
Volley |
Sudah jelas belum pembahasan perbedaan ketiga Library antara Fast Android Networking, Retrofit dan Volley? Kalau masih kurang jelas silahkan berikan pertanyaan kalian di kolom komentar ya. Saya sendiri lebih 'prefer' Fast Android Networking, karena dalam menggunakannya sangat mudah dan cocok untuk pemula. Jika kalian menggunakan Retrofit atau Volley itu selera ya. Semua sama, yang penting kalian paham dalam penggunannya.
Demikian informasi yang saya bagikan untuk kalian. Jangan lupa bagikan artikel ini ke teman-teman kalian agar ikut membaca Fast Android Networking vs Retrofit vs Volley, Mana yang lebih baik? ini. Subscribe juga blog Rivaldi 48 ini agar kalian mendapatkan notifikasi saat Admin update artikel terbaru. Semoga kalian lebih nyaman dan mudah dalam mengakses Blog Rivaldi 48 dimanapun kalian berada. Terima Kasih. Follow Instagram Admin @azhardvls_
asslammualaikum
ReplyDeletebang mau tanya
kalau pake fan http dan https tidak ada bedanya?
kan kalau di volley kalau https pake hurlStack
mas yang di fb ya? sudah saya jawabnya. di fan http dan https itu sama saja..
DeleteMas, nanya ya. Kadang user dg provider tertentu (karena bad signal) kesulitan akses apk saya, tetapi dia akses whatsapp bisa lancar.
ReplyDeletePenyebabnya apakah krn whatsapp pake salah satu library di atas, atau hal lain?
Note: apk sy pake standar request tanpa library. Thx
whatsapp pakai retrofit mas, untuk user mengakses data, sepertinya tergantung jaringan provider. karena dalam fungsinya, semua sama kok
Deletemas, kalau saya pengen buat kayak e payment gitu misalnya berarti ada dua pilihan terbaik ya bisa retrofit atau fast network, sarannya pake yang mana ya mas, karen untuk fastnetwork memang pertamakali saya dengan saat ini pas mau belajar buat ewallet gitu
ReplyDeletefan lebih gampang gan buat pemula
Delete