Skip to content

cl3m/multiplatform-compose

Repository files navigation

Kotlin Multiplatform

Multiplatform Compose

A demo to show usage of Jetbrains Compose in Android and iOS. Originally a Jetpack Compose implementation with native view and yoga for iOS.

Table of contents

Libraries

  • kotlinx coroutines
  • ktor
  • Jetbrains Compose (uikit experimental)
  • PreCompose (for navigation)

Demos

Run the app to see a demo of compose on ios.

Demos

AsyncImage

The image composable allow url loading

AsyncImage(url = "https://loremflickr.com/320/240/ocean", modifier = Modifier.size(200.dp))

SafeArea

SafeArea.current to get PaddingValues.

DarkMode

DarkMode.current to fix dark mode on iOS.

Troubleshooting

e: java.lang.IllegalStateException: No file for ***

Compose function and CompositonLocal have to be internal and not exposed to iOS module.

Alternatives

License

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

   http://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.