Какие знаешь библиотеки для работы с сетью

«Какие знаешь библиотеки для работы с сетью» — вопрос из категории Сети, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Retrofit – самая популярная библиотека для HTTP-запросов. Преобразует API в Java/Kotlin интерфейсы.

interface ApiService {
    @GET("users/{id}")
    suspend fun getUser(@Path("id") userId: Int): User
}

OkHttp – низкоуровневая библиотека для HTTP, используется Retrofit'ом под капотом. Позволяет настраивать клиенты, логировать запросы, добавлять interceptors.

Ktor – асинхронная библиотека от JetBrains, подходит для клиент-серверных приложений.

val client = HttpClient(CIO) {
    install(JsonFeature) {
        serializer = KotlinxSerializer()
    }
}

Volley (устаревшая) – простая библиотека от Google для простых сетевых операций, но уступает Retrofit в гибкости.

Для WebSockets:

  • OkHttp с WebSocketListener
  • Ktor WebSockets

Для GraphQL: Apollo Android.