Skip to content

Sample compose-multiplatform app with networking and database

Notifications You must be signed in to change notification settings

Android-Developer-Basic/Contacts

Repository files navigation

Демо-приложение Kotlin Multiplatform

Это проект, построенный на Kotlin Multiplatform, который работает на Android, iOS, Desktop а также простой сервер на Ktor для авторизации и загрузки данных. Программа - простой мультиплатформенный список контактов, при написании которой использовались следующие библиотеки:

  • Ktor for network communication and to build a server using common data.
  • SqlDelight for a local data cache.
  • CommonStateMachine to build application logic.
  • MockMP for multiplatform test mocks
  • /composeApp содержит код, общий для всех клиентских платформ. Использует Compose Multiplatform. Содержит следующие папки:

    • commonMain Общий код для всех платформ.
    • Другие папки предназначены для Kotlin кода, который будет скомпилирован только для платформы, соответствующей имени папки. Например, если вы хотите использовать CoreCrypto от Apple для части iOS вашего приложения Kotlin, iosMain будет подходящей папкой для таких вызовов.
  • /iosApp содержит приложение для iOS. Даже если вы пишете весь UI на Compose Multiplatform, этот модуль - это точка входа в приложение iOS. Также это место, где можно разместить код SwiftUI вашего проекта.

  • /server простой сервер Ktor, имитирующий сервер приложения. Предоставляет аутентификацию и список контактов.

  • /shared содержит определение data-слассов и общих утилит клиентского и серверного приложений.

Узнайте больше о Kotlin Multiplatform

Kotlin Multiplatform demo application

This is a Kotlin Multiplatform project targeting Android, iOS, Desktop, plus Ktor Server for contact data. The program is a simple multiplatform contact list written with the following libraries:

  • Ktor for network communication and to build a server using common data.
  • SqlDelight for a local data cache.
  • CommonStateMachine to build application logic.
  • MockMP for multiplatform test mocks
  • /composeApp is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:

    • commonMain is for code that’s common for all targets.
    • Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app, iosMain would be the right folder for such calls.
  • /iosApp contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.

  • /server A simple Ktor server to provide authentication and contacts data.

  • /shared contains common data class definition and utils used both client and server side.

Learn more about Kotlin Multiplatform

About

Sample compose-multiplatform app with networking and database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published