Вопрос сравнивает Retrofit с другими HTTP-клиентами для Android.
Retrofit: Лидер для REST API, минимум кода, но привязан к OkHttp.
Ktor: Гибкий, поддерживает WebSockets, но требует больше ручной настройки.
Плюсы:
Простота (аннотации @GET, @POST).
Интеграция с RxJava/Coroutines.
Минусы:
Нет встроенной поддержки мультипарт-запросов.
Пример:
interface ApiService {
@GET("users/{id}")
suspend fun getUser(@Path("id") id: Long): User
}Плюсы:
Кросс-платформенность (KMM).
Поддержка WebSockets/SSE "из коробки".
Минусы:
Больше бойлерплейта.
Пример:
val client = HttpClient(CIO) {
install(JsonFeature) {
serializer = KotlinxSerializer()
}
}
val user = client.get<User>("https://api.com/users/$id")