Что это простыми словами

Retrofit — это секретарь для общения с сервером.

Аналогия: представьте, что вам нужно отправлять служебные письма в банк — запросить баланс, сделать перевод, получить выписку. Каждый раз надо правильно оформить конверт, заполнить шапку, указать адреса, приложить документы. Retrofit — это секретарь, который берёт на себя всю эту рутину: вы просто говорите «хочу баланс», а он уже оформляет запрос, отправляет, ждёт ответ и возвращает вам готовый результат.

В приложении Retrofit работает так же: разработчик пишет «мне нужен список пользователей», а библиотека сама формирует правильный запрос на сервер, отправляет его, получает ответ и превращает его в удобные для кода данные.

Официальное определение

Теперь, когда суть понятна, вот как Retrofit описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме — и теперь будете понимать, что за ней стоит.

«Retrofit — type-safe HTTP-клиент для Android и JVM, превращающий HTTP API в Java/Kotlin интерфейсы».

Разберём по словам. «HTTP-клиент» — инструмент для отправки запросов на сервер по протоколу HTTP (тот самый, по которому работают сайты). «Type-safe» означает, что ошибки в запросах можно поймать ещё на этапе написания кода, а не когда приложение уже запустилось. «JVM» — это платформа, на которой работают программы на Java и Kotlin. «Превращает API в интерфейсы» — разработчик описывает, какие запросы нужны, а Retrofit сам генерирует весь код для их выполнения.

Какую задачу решает

Когда приложение общается с сервером, нужно каждый раз писать однотипный код: собрать адрес, подготовить данные, отправить запрос, проверить ответ, обработать ошибки. Это рутина, которая отнимает время и в которой легко ошибиться.

Retrofit убирает эту боль: разработчик один раз описывает, какие запросы нужны, а библиотека автоматически генерирует весь необходимый код. Это ускоряет разработку и снижает количество ошибок.

Побочная польза: Retrofit автоматически превращает ответы сервера в удобные объекты кода. Пришёл JSON с данными пользователя — Retrofit сразу превращает его в объект User, с которым можно работать.

К какой экосистеме относится

  • Языки — Kotlin и Java. Чаще встречается именно с Kotlin.

  • Специальность — в основном Android-разработчик, реже backend-разработчик на JVM.

  • Платформа — Android (основное применение) и серверные приложения на JVM.

Важная деталь: Retrofit работает поверх OkHttp, другой библиотеки, которая занимается низкоуровневой отправкой запросов. Это не конкуренты: Retrofit использует OkHttp внутри себя. Если в резюме указаны оба — это нормально и даже ожидаемо.

Чем заменяется

Ту же задачу — общение с REST API — решают другие HTTP-клиенты: Ktor Client (более современный, от создателей Kotlin) и Fuel. В одном проекте обычно используют что-то одно.

Главное: переход между ними относительно дешёвый. Задача одна и та же — отправлять запросы на сервер, отличается только «обвязка». Разработчик, который работал с Retrofit, разберётся в Ktor Client за неделю-две. Это не разные профессии, а разные модели инструмента.

Отдельно: если проект использует GraphQL вместо REST, там применяется другой инструмент — Apollo Client. Это уже другая категория запросов, хотя цель похожа.

Что не путать

  • Retrofit ≠ OkHttp. OkHttp — это низкоуровневый инструмент для отправки запросов, Retrofit — удобная обёртка поверх него. Они работают вместе, а не вместо друг друга. Если видите оба в резюме — это не дублирование, а нормальная картина.

  • Retrofit ≠ само REST API. REST API — это правила, по которым сервер принимает запросы. Retrofit — это инструмент, который помогает эти запросы отправлять.

  • Retrofit ≠ сервер. Retrofit работает на стороне приложения (клиента), а не на сервере. Он отправляет запросы, но не обрабатывает их.

  • Retrofit ≠ база данных. База данных хранит информацию локально на устройстве, Retrofit — инструмент для общения с удалённым сервером.

Насколько это важно при отборе

Короткий ответ: обычно это НЕ повод отбраковывать кандидата.

Самая частая ошибка новичка-рекрутера — искать строго «Android + Retrofit» и отсеивать сильного разработчика, у которого в резюме указан Ktor Client или другой HTTP-клиент. Он освоит Retrofit за неделю-две, потому что задача та же — отправлять запросы на сервер. Отсеивая по конкретной библиотеке, вы теряете хороших людей и затягиваете поиск.

Правильный подход: смотрите, есть ли у кандидата опыт работы с любым HTTP-клиентом для общения с сервером. Если есть — этого достаточно. Если в вакансии жёстко написано «только Retrofit», уточните у нанимающего менеджера, действительно ли это принципиально: часто оказывается, что нет.

Когда всё же стоит обратить внимание: если у кандидата вообще нет опыта работы с сетевыми запросами (ни Retrofit, ни аналогов), а вакансия предполагает приложение, активно работающее с сервером — это повод спросить, как он получал данные в своих проектах.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.