Введение

Тут собраны рекомендации по библиотекам и подходам, которые вы можете использовать в своём проекте.

Жирным выделены библиотеки, которые чаще всего используются в реальной разработке. Большинство из них используется в приложениях от ЦФТ.

⚠️ Вы не обязаны использовать только то, что указано здесь. Выбирайте то, что вам ближе по духу или с чем у вас уже есть опыт работы. При выборе инструментов учитывайте свои силы и время.

Язык

Kotlin.

Network

  1. Для REST API: Retrofit или Ktor
  2. Для GraphQL API: любая доступная библиотека, например, Apollo

JSON

  1. GSON
  2. Moshi
  3. kotlinx.serialization

Используйте готовые встраиваемые конвертеры, если для выбранной Network-библиотеки есть такие (com.squareup.retrofit2:converter-gson, io.ktor:ktor-serialization-gson и т.п.)

UI

  1. Fragments + View + ViewBinding
  2. Jetpack Compose

Навигация

  1. Для Fragment:
    1. Jetpack Navigation component
    2. Cicerone
  2. Для Jetpack Compose:
    1. Jetpack Navigation component
    2. Сompose-destinations
    3. Voyager
    4. Decompose (для опытных)