OkHttp 와 Retrofit 차이

2021. 11. 6. 18:46Kotlin/Android

둘 다 Square 사에서 만든 HTTP 통신을 위한 라이브러리지만, 용도는 다르다.

 

# OkHttp 라이브러리

https://square.github.io/okhttp/

HTTP NW 통신을 하는 동안, 빠르게 텍스트나 미디어 데이터를 전송하도록 하는 라이브러리다.

 

OkHttp는 NW 통신 중에 오류가 발생하였을 때, 빠르게 상태를 회복한다.

이는 서비스 상에서 여러 개의 IP 주소들을 제공하였을 때, 오류가 발생하면 다른 IP 주소로 시도해봄으로써 이루어진다.

request와 responce API를 제공하며, 이는 immutable하다.

이는 동시에 여러 blocking call을 수행하며, callback을 통해 비동기 작업을 지원한다.

 

# Retrofit 라이브러리

https://square.github.io/retrofit/

Java 기반 Android 상에서 HTTP client 역할을 수행하는 라이브러리다.

 

Retrofit은 HTTP API (ex. JSON, XML)를 Java 객체로 변환하거나,

HTTP API Service (HTTP client)를 생성하며,

이 HTTP Service의 Call을 통해 동기나 비동기 요청을 만들 수 있다.

 

 

따라서 Retrofit는 서버와 클라이언트 간의 인터페이스이며,

인터페이스 만으로는 통신을 수행할 수 없다.

이 때 사용하는 것이 OkHttp로 효율적인 NW 통신을 제공한다.

반응형

'Kotlin > Android' 카테고리의 다른 글

Flow 와 LiveData 차이점?  (0) 2021.11.08
Android Studio에서 SHA-1키 얻는 방법  (0) 2021.10.31
MediatorLiveData로 LiveData 병합하기  (0) 2021.10.27
LiveData 변환하기  (0) 2021.10.27
LiveData 생성하기  (0) 2021.10.26