Примеры open-source проектов
Нет лучшего способа преисполниться в андроид-разработке, чем покопаться в чужих исходниках. Всегда полезно посмотреть как пишут код взрослые дяди и утащить себе проверенные методики. Здесь не будет примеров, которые давно не обновлялись и соответственно не запустятся после клонирования.
Полнофункциональное приложение от гугла. Создано с использованием Kotlin, Compose и Material3. Постоянно обновляется и представляет собой агрегатор новостей об андроид-разработке разложенных по топикам. Про организацию модулей в проекте рассказано здесь. Используется рекомендуемая архитектура с UDF, о ней подробнее здесь. Код покрыт unit и ui тестами, производительность мониторится с помощью бенчмарков.
Еще одно приложение от корпорации добра. Справочник для садоводства. Иллюстрирует лучшие практики по переезду с Android View (Material2) на Jetpack Compose (Material3). О миграции рассказано здесь. Код полностью покрыт тестами, есть бенчмарки, показано как работать с ассетами и предварительно заполнять Room.
Приложение для отслеживания сериалов от бывшего разработчика из гугла. В проект тащятся новейшие версии библиотек, сейчас в процессе переезда на KMP. Показано как управлять зависимостями с помощью buildSrc. Полностью на Kotlin, Compose, Coroutines, Room, Lifecycle, Navigation и Hilt.
Руководство как скрафтить музыкальный плеер в системе View с дизайном Materia3. Под капотом продвинутая стилизация, синхронизация текстов песен, анимации, виджеты, плейлисты, поддержка Chromecast и Android Auto.
Альтернативный клиент YouTube с кучей настроек. Никакого Compose - UI на activities и fragments.
Стильный и простой в использовании аудио/видео загрузчик. Есть настройка палитры Material3 из приложения.
Неофициальный клиент рутрекера. Сделан по красоте – чистая архитектура, код разложен по core и feature модулям, реализации отделены от интерфейсов.
Продвинутый пикча-эдитор. Покажет, что можно и нельзя делать с изображениями.
Сэмплы от JetBrains для погружения в KMP. Есть, например, приложение для просмотра изображений и приложение для обмена сообщениями. Для UI используется Compose Multiplatform, показано как его встраивать в интерфейс SwiftUI. Работающие аппки для Android, iOS, Desktop и Web.
Вываливает список людей, которые сейчас в космосе. А также положение МКС. Демонстрация множества различных платформ, на которых работает Kotlin Multiplatform. Включает клиенты на SwiftUI (iOS, watchOS, macOS), Compose (Android + Tablets, Wear OS, Desktop, Wasm, iOS) и серверную часть на Ktor. Есть виджеты для iOS и Android. Проект специально сделан минималистичным, чтобы помочь тебе быстрее вкатиться в KMP.
Мультиплатформенное приложение для чтения RSS-лент. Внутри стандартно Kotlin Multiplatform, Coroutines, Compose Multiplatform, Ktor, SQLDelight, Decompose и Kotlin-inject. Нужны JDK 20 и канареечная студия для запуска.
Приложение для продуктивности и управления временем. Юзеры могут планировать задачи и получать отчеты об их выполнении. Мультиплатформа – есть реализации для Android/iOS/Desktop.
Мультиплатформенная версия приложения New York Times на Compose. Позволяет юзеру просматривать статьи. Для Android/Wear/iOS/Desktop/Web.
BeepBeep – платформа для доставки еды и заказа такси, призванная продемонстрировать возможности Kotlin. Включает мобильные приложение для пользователей, приложения для управления рестораном, приложения для водителей, для доставщиков – все это для iOS и Android на Compose Multiplatform. Есть приложение с дашбордами для Mac/Linux/Windows, приложение для поддержки. Есть несколько микросервисов на Kotlin с Ktor для поддержки всего этого. Можешь забацать свой Uber!
Бонус
Не рекомендуется как ориентир. Но будет полезно посмотреть какой радикальной бывает разработка продукта, когда он претендует на звание лучшего в нише. Анимации, работа с памятью и с видео, минимум внешних зависимостей, все кастомное и самописное, создание ui из кода.
android