{"id":13789731,"url":"https://github.com/cl3m/multiplatform-compose","last_synced_at":"2026-01-20T05:39:25.783Z","repository":{"id":42633381,"uuid":"327994833","full_name":"cl3m/multiplatform-compose","owner":"cl3m","description":"A demo to show usage of Jetbrains Compose in Android and iOS.","archived":false,"fork":false,"pushed_at":"2022-11-18T20:36:45.000Z","size":1611,"stargazers_count":573,"open_issues_count":1,"forks_count":32,"subscribers_count":29,"default_branch":"develop","last_synced_at":"2025-05-12T07:40:18.096Z","etag":null,"topics":["ios","jetpack-compose","kotlin","kotlin-library","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-multiplatform-mobile","kotlin-native","multiplatform","uikit"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cl3m.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-08T19:33:33.000Z","updated_at":"2025-04-14T00:57:55.000Z","dependencies_parsed_at":"2023-01-22T15:00:17.080Z","dependency_job_id":null,"html_url":"https://github.com/cl3m/multiplatform-compose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cl3m/multiplatform-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cl3m%2Fmultiplatform-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cl3m%2Fmultiplatform-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cl3m%2Fmultiplatform-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cl3m%2Fmultiplatform-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cl3m","download_url":"https://codeload.github.com/cl3m/multiplatform-compose/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cl3m%2Fmultiplatform-compose/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","jetpack-compose","kotlin","kotlin-library","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-multiplatform-mobile","kotlin-native","multiplatform","uikit"],"created_at":"2024-08-03T22:00:32.315Z","updated_at":"2026-01-20T05:39:25.768Z","avatar_url":"https://github.com/cl3m.png","language":"Kotlin","funding_links":[],"categories":["UI"],"sub_categories":["SQL"],"readme":"[![Kotlin Multiplatform](https://img.shields.io/static/v1?logo=Kotlin\u0026\u0026logoColor=3c94cf\u0026label=\u0026message=Kotlin%20Multiplatform\u0026color=555)](https://kotlinlang.org/docs/reference/multiplatform.html)\n\n# Multiplatform Compose\n\nA demo to show usage of Jetbrains Compose in Android and iOS. Originally a Jetpack Compose implementation with native view and yoga for iOS.\n\n## Table of contents\n\n- [Libraries](#libraries)\n- [Demos](#demos)\n- [Troubleshooting](#troubleshooting)\n- [Alternatives](#alternatives)\n- [License](#license)\n\n## Libraries\n\n- kotlinx coroutines\n- ktor\n- Jetbrains Compose (uikit experimental)\n- [PreCompose](https://github.com/Tlaster/PreCompose) (for navigation)\n\n## Demos\n\nRun the app to see a demo of compose on ios.\n\n![Demos](https://github.com/cl3m/multiplatform-compose/blob/compose-jb/screenshots/Demos.png?raw=true)\n\n#### AsyncImage\n\nThe image composable allow url loading\n\n```kotlin\nAsyncImage(url = \"https://loremflickr.com/320/240/ocean\", modifier = Modifier.size(200.dp))\n```\n\n#### SafeArea\n\nSafeArea.current to get PaddingValues.\n\n#### DarkMode\n\nDarkMode.current to fix dark mode on iOS.\n\n\n## Troubleshooting\n\n### e: java.lang.IllegalStateException: No file for ***\n\nCompose function and CompositonLocal have to be internal and not exposed to iOS module.\n\n## Alternatives\n\n- [Compose Multiplatform by JetBrains](https://github.com/JetBrains/compose-jb) started native support via Skia ([Skiko](https://github.com/JetBrains/skiko)), you can have a look at the [sample](https://github.com/JetBrains/compose-jb/tree/master/experimental/examples/falling-balls-mpp). Touchlab made a demo for [Droidcon NYC App](https://touchlab.co/droidcon-nyc-ios-app-with-compose/) It will use the compose compiler but not native component.  \n\n- [Redwood Compose](https://github.com/cashapp/redwood) by Cash App. [Native UI with multiplatform Compose](https://jakewharton.com/native-ui-with-multiplatform-compose/). Use the compose compiler and native iOS component. \n\n- [Platform-Kit by IceRock](https://github.com/Alex009/compose-jb/tree/platform-kit-sample/examples/common-platform-uikit) based on Compose Multiplatform by JetBrains, add support via UIKit, thus use the compose compiler and native iOS component.  \n\n- [multiplatform-compose](https://github.com/cl3m/multiplatform-compose/tree/yoga) This original repo, an experiment with native view and yoga for layout. You can also have a look at [kmp-redux](https://github.com/cl3m/kmp-redux/tree/skiko) that show Compose integration with SwiftUI. \n\n\n## License\n\n    Copyright 2021 Clément Beffa\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    \n       http://www.apache.org/licenses/LICENSE-2.0\n    \n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcl3m%2Fmultiplatform-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcl3m%2Fmultiplatform-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcl3m%2Fmultiplatform-compose/lists"}