Welcome to the official documentation of SweetMeSoft KMP Library! A complete multiplatform library for Kotlin that allows you to create native applications for Android and iOS with a shared codebase.
SweetMeSoft KMP Library is a collection of specialized modules that provide:
Fundamental UI components like date pickers, dialogs, text fields and validation utilities.
View DocumentationComplete maps integration with Google Maps for Android and MapKit for iOS, including markers and geolocation.
View DocumentationMain module with advanced components, navigation, network utilities, image handling and base architecture.
View DocumentationExample application that demonstrates the use of all modules with practical implementations and best practices.
View DocumentationIn your libs.versions.toml file:
[versions]
sweetmesoft = "2.0.1"
[libraries]
sweetmesoft-kmpcontrols = { module = "com.sweetmesoft.kmpcontrols:kmpcontrols", version.ref = "sweetmesoft" }
sweetmesoft-kmpmaps = { module = "com.sweetmesoft.kmpmaps:kmpmaps", version.ref = "sweetmesoft" }
sweetmesoft-library = { module = "com.sweetmesoft:library", version.ref = "sweetmesoft" }
In your build.gradle.kts:
commonMain.dependencies {
implementation(libs.sweetmesoft.kmpcontrols)
implementation(libs.sweetmesoft.kmpmaps)
implementation(libs.sweetmesoft.library)
}
@Composable
fun App() {
MaterialTheme {
Navigator(screen = MainScreen()) { navigator ->
BaseViewModel.navigator = navigator
SlideTransition(navigator)
}
}
}
@Composable
fun MyScreen() {
var selectedDate by remember { mutableStateOf(Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date) }
var password by remember { mutableStateOf("") }
Column {
// Date picker from KMPControls
DatePicker(
value = selectedDate,
title = "Select Date",
onSelectedDate = { date ->
selectedDate = date
}
)
// Password control from KMPControls
PasswordControl(
value = password,
label = "Password",
onValueChange = { password = it }
)
// Map from KMPMaps
MapComponent(
modifier = Modifier.height(200.dp),
coordinates = Coordinates(37.7749, -122.4194)
)
}
}
Learn to use selectors, dialogs and validations
Implement native maps in your application
Master advanced components and utilities
See real implementations and best practices
Explore our complete examples: