Repolode
joreilly

joreilly/ClimateTraceKMP

Пример на Kotlin/Compose Multiplatform с данными Climate TRACE о выбросах по странам для iOS, Android, десктопа и веба.

Звёзды
346
Форки
23
Открытые issues
8
Последний коммит
4 часа назад

Что это?

ClimateTraceKMP — пример приложения на Kotlin Multiplatform, отображающего данные о выбросах парниковых газов по странам с climatetrace.org. Почти вся логика находится в общем модуле `composeApp`: слой данных, view model и интерфейс на Compose Multiplatform. Его используют приложения для Android, iOS и десктопа, а также веб-версия (Wasm). Клиент для iOS размещён в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose. При выборе страны открывается общий экран с подробными данными о выбросах, созданный на Compose. В проект также входит Kotlin Notebook для изучения тех же данных.

Помимо UI-клиентов, репозиторий предоставляет данные для программного использования. Модуль `mcp-server` использует Kotlin MCP SDK, чтобы предоставлять данные о выбросах для каждой страны в виде MCP tools, которые можно подключить к клиенту вроде Claude Desktop. В модуле `agents` находится агент на базе Google's Agent Development Kit for Kotlin, работающий как MCP-клиент: он подключается к `mcp-server` по Streamable HTTP и получает данные о выбросах в виде tools. Экран Agents внутри приложения использует Koog, чтобы запрашивать данные через LLM.

Среди используемых библиотек — Ktor, Koin, KStore, Voyager и KoalaPlot. Сборка выполняется Gradle-задачами для каждой целевой платформы. Сценарий UI-тестов Maestro общий для клиентов Android и iOS и запускается в CI на эмуляторе и симуляторе.

Ключевые возможности

  • 01Общий слой данных на Kotlin, view model и интерфейс на Compose Multiplatform, используемые клиентами для Android, iOS, десктопа и веба (Wasm).
  • 02Приложение для iOS размещено в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose.
  • 03Модуль `mcp-server` на базе Kotlin MCP SDK предоставляет данные о выбросах для каждой страны в виде MCP tools для клиентов вроде Claude Desktop.
  • 04Агент на базе ADK работает как MCP-клиент по Streamable HTTP; кроме того, в приложении есть экран Agents на Koog для запросов к LLM.
  • 05Kotlin Notebook для изучения тех же данных о выбросах.
  • 06Общий сценарий UI-тестов Maestro для клиентов Android и iOS, запускаемый в CI.

Сценарии использования

  • Изучение того, как KMP-проект совместно использует данные, view model и Compose UI на мобильных устройствах, десктопе и в вебе.
  • Передача данных о выбросах в LLM-ассистент или агент через MCP-сервер.
  • Создание прототипов многоплатформенных клиентов на одной кодовой базе Kotlin.
  • Интерактивное изучение данных о выбросах по странам в notebook.

Быстрый старт

  1. 1

    Клонируйте репозиторий и откройте папку проекта

  2. 2

    Запустите десктопное приложение с помощью Gradle

    ./gradlew :composeApp:run
  3. 3

    Запустите веб-приложение (Wasm) в браузере

    ./gradlew :composeApp:wasmJsBrowserDevelopmentRun

Что важно знать

  • Для сборки и запуска клиента iOS требуется Xcode.
  • Для работы функций ИИ-агента нужен ключ API Gemini.

В подборках

Темы

Частые вопросы

Что такое ClimateTraceKMP?
Пример на Kotlin/Compose Multiplatform с данными Climate TRACE о выбросах по странам для iOS, Android, десктопа и веба. ClimateTraceKMP — пример приложения на Kotlin Multiplatform, отображающего данные о выбросах парниковых газов по странам с climatetrace.org. Почти вся логика находится в общем модуле `composeApp`: слой данных, view model и интерфейс на Compose Multiplatform. Его используют приложения для Android, iOS и десктопа, а также веб-версия (Wasm). Клиент для iOS размещён в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose. При выборе страны открывается общий экран с подробными данными о выбросах, созданный на Compose. В проект также входит Kotlin Notebook для изучения тех же данных.
ClimateTraceKMP можно использовать бесплатно? Какая у него лицензия?
ClimateTraceKMP распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ClimateTraceKMP всё ещё поддерживается?
Активно поддерживается. Последний коммит в ClimateTraceKMP — 7 нояб. 2026 г..
Для чего можно использовать ClimateTraceKMP?
Изучение того, как KMP-проект совместно использует данные, view model и Compose UI на мобильных устройствах, десктопе и в вебе. Передача данных о выбросах в LLM-ассистент или агент через MCP-сервер. Создание прототипов многоплатформенных клиентов на одной кодовой базе Kotlin. Интерактивное изучение данных о выбросах по странам в notebook.
Как установить ClimateTraceKMP?
Клонируйте репозиторий и откройте папку проекта Запустите десктопное приложение с помощью Gradle: ./gradlew :composeApp:run Запустите веб-приложение (Wasm) в браузере: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
Где скачать ClimateTraceKMP?
Исходный код и инструкции по установке — на GitHub: https://github.com/joreilly/ClimateTraceKMP

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытое приложение без рекламы для минималистичного расписания занятий студентов китайских вузов с импортом из учебных систем вузов.

1 тыс.+16 за неделю100KotlinApache-2.0Активно поддерживаетсяОбновлён вчера

Локальный редактор для написания художественных текстов на Android, iOS, Windows, macOS и Linux с возможностью синхронизации через собственный или официальный сервер.

815+10 за неделю47KotlinMITАктивно поддерживаетсяОбновлён 17 часов назад

Кроссплатформенный магазин приложений, где можно находить и устанавливать программы, выпущенные на GitHub, Codeberg и других платформах Forgejo или Gitea.

20,4 тыс.+260 за неделю771KotlinApache-2.0Активно поддерживаетсяОбновлён 7 дней назад