A type-safe HTTP client for Android and the JVM (by square)


Basic Retrofit repo stats
9 days ago

square/retrofit is an open source project licensed under Apache License 2.0 which is an OSI approved license.

Retrofit Alternatives

Similar projects and alternatives to Retrofit based on common topics and language

  • GitHub repo RxJava

    RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

  • GitHub repo guide-to-kotlin

    [GUIDE] This tutorial assumes all you know is Java, but you want to learn Kotlin.

  • GitHub repo syncboard

    Syncboard - sync clipboards between your Windows PC and Android device

  • GitHub repo mvvmdemo

    HarmonyOS MVVM login demo using Retrofit and Rxjava

  • GitHub repo Dropwizard

    A damn simple library for building production-ready RESTful web services.

  • GitHub repo Feign

    Feign makes writing java http clients easier

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better Retrofit alternative or higher similarity.


Posts where Retrofit has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-14.
  • Coroutine Misconceptions: Whose Context Is It Anyway?
    Thanks for your comment! I completely agree. A big reason I wanted to write this article is because I felt like that exact idea wasn't made clear enough with RxJava. There were so many articles and examples that implied the opposite (that the caller was in charge of threading) that it is the path that many people went down (myself included). The RxJava2 adapter for Retrofit even defaulted to running synchronously and its first recommendation for supplying threading was to use "subscribeOn" (see So I was just really happy to see that JetBrains and Google are making it much more clear with coroutines what should have been clear with RxJava all along. Thanks again for taking a look at the article!
  • I made an app that helps you sync your clipboards between your Windows PC and your Android device. | 2021-04-14
    * As android developer i suggest you use Retrofit for endpoint call.
  • MVVM Architecture On HarmonyOS Using Retrofit And RxJava
  • Integrating Push Notifications with Firebase Java API | 2021-02-19
    ‍ We will now create the interface for the API call. We will be using the Retrofit library in Android to make the API calls. Retrofit is a lightweight and very easy-to-use HTTP client available for Android and Java. All you need to start using it is to add the dependency in the build.gradle file. You can read more about it on their official website given above, to get a better picture of the library. It is always a good practice to read the documentation whenever using a library for your application.
  • Hilt - okhttp scopes, variants and overall app performance ?
    Let's move to Retrofit. From a performance point of view, I'd say it's better to keep one instance per service rather than one instance per feature. Retrofit relies on annotations and reflection to parse them. Since this operation has some cost, the result is cached. If you keep creating new instances as you explained, you don't use this cache across multiple features, but each feature will have to build its own cache. It's also true that the application will spend most of the time of the operation doing some I/O.
  • Using Java for Android app development in 2021
    Looks pure-JVM to me