Это проект, построенный на 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…
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
-
/composeAppis for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMainis 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,
iosMainwould be the right folder for such calls.
-
/iosAppcontains 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. -
/serverA simple Ktor server to provide authentication and contacts data. -
/sharedcontains common data class definition and utils used both client and server side.
Learn more about Kotlin Multiplatform…