Что это простыми словами
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, ни аналогов), а вакансия предполагает приложение, активно работающее с сервером — это повод спросить, как он получал данные в своих проектах.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.