{"id":15134950,"url":"https://github.com/jetbrains/compose-multiplatform","last_synced_at":"2026-01-16T06:58:05.293Z","repository":{"id":37010534,"uuid":"293498508","full_name":"JetBrains/compose-multiplatform","owner":"JetBrains","description":"Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.","archived":false,"fork":false,"pushed_at":"2025-05-10T02:01:07.000Z","size":284548,"stargazers_count":17442,"open_issues_count":71,"forks_count":1246,"subscribers_count":236,"default_branch":"master","last_synced_at":"2025-05-12T04:08:55.056Z","etag":null,"topics":["android","awt","compose","declarative-ui","desktop","gui","ios","javascript","kotlin","multiplatform","reactive","swing","ui","wasm","web","webassembly"],"latest_commit_sha":null,"homepage":"https://jetbrains.com/lp/compose-multiplatform","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/JetBrains.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-07T10:40:49.000Z","updated_at":"2025-05-12T04:04:00.000Z","dependencies_parsed_at":"2023-10-02T12:57:25.642Z","dependency_job_id":"8e0e0971-0bd6-4f88-a19b-f33e5e4c3db3","html_url":"https://github.com/JetBrains/compose-multiplatform","commit_stats":{"total_commits":2319,"total_committers":156,"mean_commits":"14.865384615384615","dds":0.7908581285036653,"last_synced_commit":"403ceb83b067d5d3ffaea3045f7ffe56c8905b09"},"previous_names":["jetbrains/compose-jb"],"tags_count":487,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fcompose-multiplatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fcompose-multiplatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fcompose-multiplatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fcompose-multiplatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JetBrains","download_url":"https://codeload.github.com/JetBrains/compose-multiplatform/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253681442,"owners_count":21946743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["android","awt","compose","declarative-ui","desktop","gui","ios","javascript","kotlin","multiplatform","reactive","swing","ui","wasm","web","webassembly"],"created_at":"2024-09-26T05:41:03.452Z","updated_at":"2026-01-16T06:58:05.238Z","avatar_url":"https://github.com/JetBrains.png","language":"Kotlin","readme":"[![official project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)\n[![stable](https://img.shields.io/github/v/release/JetBrains/compose-multiplatform?sort=semver\u0026display_name=release\u0026label=stable\u0026color=brightgreen)](https://github.com/JetBrains/compose-multiplatform/releases/latest)\n[![prerelease](https://img.shields.io/github/v/release/JetBrains/compose-multiplatform?include_prereleases\u0026sort=semver\u0026filter=*-*\u0026display_name=release\u0026label=prerelease\u0026color=blue)](https://github.com/JetBrains/compose-multiplatform/releases)\n[![dev](https://img.shields.io/github/v/tag/JetBrains/compose-multiplatform?include_prereleases\u0026sort=semver\u0026filter=v*%2Bdev*\u0026label=dev\u0026color=orange)](https://github.com/JetBrains/compose-multiplatform/tags)\n\n\u003ca href=\"https://jb.gg/cmp\"\u003e\n    \u003cpicture\u003e\n        \u003csource srcset=\"artwork/compose-logo-name-white.svg\"  width=\"400\" media=\"(prefers-color-scheme: dark)\"\u003e\n        \u003cimg src=\"artwork/compose-logo-name-black.svg\" alt=\"Compose Multiplatform logo and name\" width=\"400\"\u003e\n    \u003c/picture\u003e\n\u003c/a\u003e\n\n[Compose Multiplatform](https://jb.gg/cmp) is a declarative framework for sharing UI code across multiple platforms with Kotlin. \nIt is based on [Jetpack Compose](https://developer.android.com/jetpack/compose) and developed by [JetBrains](https://www.jetbrains.com/) and open-source contributors.\n\nYou can choose the platforms across which to share your UI code using Compose Multiplatform:\n\n* [iOS](https://jb.gg/start-cmp)\n* [Android](https://jb.gg/start-cmp) \n* [Desktop](https://jb.gg/start-cmp) (Windows, MacOS, and Linux)\n* [Web](https://jb.gg/start-cmp) (Beta)\n\nFor example, you can share UIs between iOS and Android or Windows and MacOS.\n\n![Shared UIs of the iOS, Android, desktop, and web apps](artwork/readme/apps.png)\n\n## iOS\n\nCompose Multiplatform shares most of its API with Jetpack Compose, the Android UI framework developed by Google. \nYou can use the same APIs to build user interfaces for both Android and iOS.\n\nSince Compose is built on top of [Kotlin Multiplatform](https://jb.gg/kmp), \nyou can easily access native APIs, such as the [Camera API](https://developer.apple.com/documentation/avfoundation/capture_setup/avcam_building_a_camera_app), \nand embed complex native UI views, such as [MKMapView](https://developer.apple.com/documentation/mapkit/mkmapview).\n\n**[Get started with Compose Multiplatform](https://jb.gg/start-cmp)**\n\n## Android\n\nWhen Android is one of your targets, you get the same experience for Android as if you were developing an Android app \nusing [Jetpack Compose](https://developer.android.com/jetpack/compose).\n\n**[Get started with Compose Multiplatform](https://jb.gg/start-cmp)**\n\n## Desktop\n\nCompose Multiplatform targets the JVM and supports high-performance hardware-accelerated UI rendering on all major desktop\nplatforms – macOS, Windows, and Linux.\n\nIt has desktop extensions for menus, keyboard shortcuts, window manipulation, and notification management.\n\n**[Get started with Compose Multiplatform](https://jb.gg/start-cmp)**\n\n## Web\n\n\u003e Web support is in Beta, making it a great time to give it a try. Check out our [blog post](https://blog.jetbrains.com/kotlin/2025/09/compose-multiplatform-1-9-0-compose-for-web-beta/) to learn more about the progress made to reach this milestone.\n\u003e We would appreciate your feedback on it in the public Slack channel [#compose-web](https://kotlinlang.slack.com/archives/C01F2HV7868/p1678887590205449). \n\u003e If you face any issues, please report them on [YouTrack](https://youtrack.jetbrains.com/newIssue?project=CMP).\n\nYou can experiment with sharing your mobile or desktop UIs with the web. Compose Multiplatform for web is based on [Kotlin/Wasm](https://kotl.in/wasm), \nthe newest target for Kotlin Multiplatform projects. It allows Kotlin developers to run their code in the browser with \nall the benefits that WebAssembly has to offer, such as good and predictable performance for your applications.\n\n**[Get started with Compose Multiplatform for web](https://jb.gg/start-cmp)**\n\n## Libraries\n\n### Compose HTML\n\nCompose HTML is a library targeting [Kotlin/JS](https://kotlinlang.org/docs/js-overview.html) that provides Composable building blocks \nfor creating web user interfaces with HTML and CSS.    \n\n\u003e Note that Compose HTML is not a multiplatform library. It can be used only with Kotlin/JS.\n\n## Learn more\n\n* [FAQ](https://jb.gg/cmp-faq)\n* [Samples](https://jb.gg/cmp-samples)\n* [Tutorials](tutorials/README.md)\n* [Compatibility and versioning](https://jb.gg/cmp-versioning)\n* [Changelog](CHANGELOG.md)\n* [Contibution guide](CONTRIBUTING.md)\n\n## Get help\n\nThere are dedicated public Slack channels for [#compose-ios](https://kotlinlang.slack.com/archives/C0346LWVBJ4/p1678888063176359), [#compose-desktop](https://kotlinlang.slack.com/archives/C01D6HTPATV) and [#compose-web](https://kotlinlang.slack.com/archives/C01F2HV7868/p1678887590205449), as well as the general [#compose](https://kotlinlang.slack.com/archives/CJLTWPH7S) channel.\n\nIf you encounter any issues, please report them on [YouTrack](https://youtrack.jetbrains.com/newIssue?project=CMP).\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fcompose-multiplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetbrains%2Fcompose-multiplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fcompose-multiplatform/lists"}