# Compose SwiftUI > Write SwiftUI screens in Kotlin with the Compose runtime: composables build a tree of real SwiftUI views. Latest release: v0.4.0 (Gradle plugin `id("dev.nucleusframework.compose-swiftui") version "0.4.0"`). Platforms: iOS 17.0+, macOS 14.0+, tvOS 17.0+, watchOS 10.0+ unless an API says otherwise. Build requirements: Xcode 27.2+ (Swift 6.4), Kotlin 2.4.20+, JDK 17+. Key rules for writing Compose SwiftUI code: - Views are Kotlin functions named like SwiftUI (`Text`, `VStack`, `Button`...); Swift labels become named arguments (`spacing = 8.0`). - Modifiers are a chain passed as `modifier = Modifier.padding().font(Font.title)`, applied in chain order as in Swift. - Bindings are a value plus a change callback (`isOn = on, onIsOnChange = { on = it }`); state uses Compose `remember`/`mutableStateOf`. - `CGFloat` is `Double`; leading-dot Swift members are qualified (`.secondary` → `ShapeStyle.secondary`). - A screen is `fun myScreen() = composeSwiftUI { ... }`, shown from Swift with `ComposeView { MyScreenKt.myScreen() }`. - Only APIs listed in the reference exist; for anything Kotlin-specific (navigation, sheets, lists, styled text) follow the guide. ## Docs - [Full documentation for LLMs](https://nucleusframework.github.io/ComposeSwiftUI/llms-full.txt): the guide and every API mapping in one file - [Guide](https://nucleusframework.github.io/ComposeSwiftUI/guide): setup, writing screens, previews, interop, how it works, limitations - [All APIs](https://nucleusframework.github.io/ComposeSwiftUI/reference): every supported SwiftUI view, modifier and type - [Source code](https://github.com/NucleusFramework/ComposeSwiftUI) ## Text and images - [Text](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Text) - [Label](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Label) - [Image](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Image) - [Link](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Link) ## Controls - [Button](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Button) - [Toggle](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Toggle) - [Slider](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Slider) - [Stepper](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Stepper) - [Picker](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Picker) - [DatePicker](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-DatePicker) - [Menu](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Menu) - [ShareLink](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-ShareLink) - [Gauge](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Gauge) - [ProgressView](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-ProgressView) ## Text input - [TextField](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-TextField) - [SecureField](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-SecureField) - [TextEditor](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-TextEditor) ## Layout containers - [VStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-VStack) - [HStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-HStack) - [ZStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-ZStack) - [LazyVStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-LazyVStack) - [LazyHStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-LazyHStack) - [LazyVGrid](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-LazyVGrid) - [Grid](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Grid) - [Spacer](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Spacer) - [Divider](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Divider) - [Group](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Group) ## Lists and navigation - [List](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-List) - [Section](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Section) - [Form](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Form) - [ScrollView](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-ScrollView) - [NavigationStack](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-NavigationStack) - [TabView](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-TabView) - [DisclosureGroup](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-DisclosureGroup) - [ContentUnavailableView](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-ContentUnavailableView) ## Layout modifiers - [padding](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-padding) - [frame](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-frame) - [offset](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-offset) - [fixedSize](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-fixedSize) - [layoutPriority](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-layoutPriority) - [ignoresSafeArea](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-ignoresSafeArea) ## Appearance modifiers - [font](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-font) - [foregroundStyle](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-foregroundStyle) - [background](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-background) - [overlay](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-overlay) - [clipShape](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-clipShape) - [cornerRadius](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-cornerRadius) - [shadow](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-shadow) - [opacity](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-opacity) - [tint](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-tint) - [scaleEffect](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-scaleEffect) - [rotationEffect](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-rotationEffect) ## Text modifiers - [lineLimit](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-lineLimit) - [multilineTextAlignment](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-multilineTextAlignment) ## Interaction and lifecycle - [onTapGesture](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-onTapGesture) - [onAppear](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-onAppear) - [onDisappear](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-onDisappear) - [task](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-task) - [disabled](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-disabled) - [refreshable](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-refreshable) - [searchable](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-searchable) - [contentShape](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-contentShape) ## Navigation and presentation - [navigationTitle](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-navigationTitle) - [toolbar](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-toolbar) - [sheet](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-sheet) - [alert](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-alert) - [tabItem](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-tabItem) - [tag](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-tag) - [badge](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-badge) ## Animation - [animation](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-animation) - [transition](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-transition) ## Styles - [buttonStyle](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-buttonStyle) - [listStyle](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-listStyle) ## Values - [Color](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Color) - [Font](https://nucleusframework.github.io/ComposeSwiftUI/reference/type-Font) ## Accessibility - [accessibilityLabel](https://nucleusframework.github.io/ComposeSwiftUI/reference/modifier-accessibilityLabel) ## Optional - [Benchmarks](https://nucleusframework.github.io/ComposeSwiftUI/benchmarks) - [Changelog](https://nucleusframework.github.io/ComposeSwiftUI/changelog)