- Redwood Compose by Cash App. Native UI with multiplatform Compose. Use the compose compiler and native iOS component.
- Compose Multiplatform by JetBrains started native support via Skia (Skiko), you can have a look at the sample but it is still very early. Some of the demos in this repo works but there is still many broken functionality. Touchlab made a demo for Droidcon NYC App It will use the compose compiler but not native component.
- Platform-Kit by IceRock based on Compose Multiplatform by JetBrains, add support via UIKit, thus use the compose compiler and native iOS component.
I've started to experiment with Compose Native, you can have a look at https://github.com/cl3m/kmp-redux/tree/skiko on iOS two views are SwiftUI and two views are Compose (ComposeSpaceView & ComposeCounterView) and share the same store.
A demo to show usage of Jetpack Compose in Android and iOS. Originally a Jetpack Compose implementation with native view and yoga.
- Android Studio
- Xcode
- cocoapods (gem install cocoapods)
- kotlinx coroutines
- kotlinx serialization
- ktor
- jetbrain compose (uikit experimental)
- Precompose (for navigation)
Run the app to see a demo of compose on ios.
The image composable allow url loading
AsyncImage(url = "https://loremflickr.com/320/240/ocean", modifier = Modifier.preferredSize(200.dp))
SafeArea.current context with PaddingValues.
Compose function and context has to be internal and not exposed to iOS module.
No one yet, be the first sponsor!
All development (both new features and bug fixes) is performed in the develop
branch. This way master
always contains the sources of the most recently released version. Use git-flow if possible.
You can start a PR with incomplete implementation to shows what you are working on. Please send PRs with bug fixes or new features to the develop
branch. Documentation fixes in the markdown files are an exception to this rule. They are updated directly in master
.
The develop
branch is pushed to master
on release.
Copyright 2021 Clément Beffa
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.