안드로이드 HTTP 라이브러리, Retrofit 분석

안드로이드 네트워크 통신 라이브러리의 발전 과정

HttpUrlConnection

OkHttp

Retrofit

private final WeatherService service;final Retrofit retrofit = new Retrofit.Builder()
.baseUrl("Some Url")
.client(new OkHttpClient())
.addConverterFactory(GsonConverterFactory.create())
.build();
service = retrofit.create(ApiService.class);
service = retrofit.create(ApiService.class);

Reflection?

이번 짧은 글에선 안드로이드에서 HTTP 통신을 위해 초창기부터 어떤 라이브러리들이 사용되었는지 살펴보고 최근 가장 많이 쓰이는 Retrofit에 대해서는 조금이나마 자세히 코드를 들여다 보고 나름대로 분석해 보았습니다.

아무렇지 않게 쓰던 Retrofit이지만 내부는 Reflection, Proxy 등 평소 잘 몰랐던 자바 기술과 함께 복잡하게 구현되어 있었습니다. 간단하게 살펴본거라 아직 완벽히 이해한 것은 절대 아니지만 그래도 내부의 흐름정도는 와닿는 것 같습니다.

어떤 라이브러리든 내부를 분석할 때 마다 느끼는거지만 저는 아직도 배워야 할 것이 너무나 많은것같습니다.

Backend / Android Software Engineer https://github.com/jaeyeong951

Backend / Android Software Engineer https://github.com/jaeyeong951