Ответ
Нестабильный тип интерфейса (Unstable API) — это API, который может измениться в будущих версиях фреймворка или библиотеки. Обычно помечается аннотациями типа @UnstableApi или упоминается в документации.
Пример:
@UnstableApi
interface ExperimentalMediaApi {
fun play()
fun pause()
}
Использование таких API не рекомендуется в продакшн-коде, так как изменения могут сломать приложение при обновлении зависимостей. Лучше искать альтернативы или быть готовым к миграции.
Ответ 18+ 🔞
Э, слушай, давай проясним одну вещь, которая многих на проектах вгоняет в ступор. Вот есть у тебя в коде какая-нибудь библиотека или фреймворк, и там торчит какой-то метод или целый интерфейс, помеченный как @UnstableApi. Ну, или в документации жирным так и написано: «ЭТО НЕСТАБИЛЬНО, МОЖЕТ ПОМЕНЯТЬСЯ».
Вот смотри, пример, чтобы было понятнее, что это за зверь такой:
@UnstableApi
interface ExperimentalMediaApi {
fun play()
fun pause()
}
Видишь эту аннотацию сверху? Это, блядь, не просто так. Это тебе прямой намёк от разработчиков библиотеки, кричащий: «Чувак, ты веришь? Мы это только что на коленке слепили, пока пили кофе. Оно вроде работает, но завтра мы можем проснуться с другой идеей и всё это дело переписать, и тебе будет хиросима и нигерсраки».
И вот тут главный момент, который многие тупо игнорируют, а потом охуевают. Если ты это используешь в своём продакшн-коде — ты ходишь по охуенно тонкому льду. Серьёзно. Потому что придёт новая версия библиотеки, они там что-нибудь переименуют, сигнатуру поменяют или вообще выпилят этот интерфейс к чёртовой матери. И твоё приложение просто накроется медным тазом в самый неподходящий момент. Доверия к такому API — ноль ебать.
Что делать-то? Варианта, по сути, два, и оба не сахар. Первый — искать альтернативу, стабильный способ сделать то же самое. Это самый правильный путь, хоть и может быть дольше. Второй — если альтернатив нет и без этой фичи никак, то будь готов к миграции. Заложи в план, что при обновлении зависимости тебе, возможно, придётся потратить день, чтобы всё переписать. И не ной потом, что тебя не предупреждали.
Короче, подозрение ебать чувствую ко всему, что помечено как нестабильное. Лучше десять раз подумай, прежде чем впендюривать это в основной код. А то будет тебе не апдейт, а сплошной чих-пых тебя в сраку.