# Capacitor vs Kotlin Multiplatform

| Attribute | Capacitor | Kotlin Multiplatform |
|---|---|---|
| **vioscaleAI score** | 59.6 (65% (medium)) | 55.7 (62% (medium)) |
| activity.commits_last_30d | 5 | 37 |
| adoption.dependent_repos | 24,134 | 14 |
| adoption.github_stars | 16,852 | 19,421 |
| adoption.package_downloads_weekly | 5,395,282 | - |
| content.faq | `[{"answer":"An open-source runtime that packages web applications built with JavaScript, HTML, and CSS to run natively on iOS, Android, and as Progressive Web Apps, with access to platform-specific native APIs through a unified JavaScript interface. It is indexed under Mobile App Frameworks.","source":"https://capacitorjs.com","question":"What is Capacitor?","confidence":0.6},{"answer":"Capacitor is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://capacitorjs.com","question":"Is Capacitor free to use?","confidence":0.6},{"answer":"Capacitor supports the web, iOS, Android and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://capacitorjs.com","question":"What platforms does Capacitor support?","confidence":0.6},{"answer":"Yes. Capacitor can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://capacitorjs.com","question":"Can Capacitor be self-hosted?","confidence":0.6},{"answer":"We have confirmed 24 integrations for Capacitor, including Action Sheet, App Launcher, App Browser, Camera, Clipboard, Device, Dialog and Filesystem, plus 16 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://capacitorjs.com","question":"What does Capacitor integrate with?","confidence":0.6},{"answer":"Yes. Capacitor is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/ionic-team/capacitor","question":"Is Capacitor open source?","confidence":0.99}]` | `[{"answer":"A framework for building applications that run on Android, iOS, desktop, and web platforms, allowing developers to share code across platforms while choosing between shared UI through Compose or platform-specific native implementations It is indexed under Mobile App Frameworks.","source":"https://kotlinlang.org/docs/multiplatform.html","question":"What is Kotlin Multiplatform?","confidence":0.6},{"answer":"Kotlin Multiplatform supports the web, iOS and Android. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://kotlinlang.org/docs/multiplatform.html","question":"What platforms does Kotlin Multiplatform support?","confidence":0.6},{"answer":"Yes. Kotlin Multiplatform is published under the Apache-2.0 licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/jetbrains/compose-multiplatform","question":"Is Kotlin Multiplatform open source?","confidence":0.95}]` |
| deployment.options | `{"self_hosted":true}` | - |
| description.long | Capacitor is a cross-platform native runtime that enables developers to build applications for iOS, Android, and web using a single JavaScript codebase. It provides web-standard APIs while allowing access to native device features through a plugin system. | A framework for building applications that run on Android, iOS, desktop, and web platforms, allowing developers to share code across platforms while choosing between shared UI through Compose or platform-specific native implementations |
| features.capabilities | `{"targets":"iOS, Android, Progressive Web App","approach":"webview_hybrid","language":"JavaScript, HTML, CSS","hot_reload":true,"web_target":true,"native_widgets":false,"official_ui_kit":false,"single_codebase":true,"native_api_access":"full"}` | `{"targets":"Android, iOS, desktop, and web","approach":"multiplatform","language":"Kotlin","hot_reload":true,"web_target":true,"native_widgets":true,"desktop_support":true,"official_ui_kit":true,"single_codebase":true,"typescript_first":false,"native_api_access":"plugin_bridged"}` |
| integrations.count | 21 | 8 |
| integrations.list | `[{"name":"Action Sheet"},{"name":"App Launcher"},{"name":"App Browser"},{"name":"Camera"},{"name":"Clipboard"},{"name":"Device"},{"name":"Dialog"},{"name":"Filesystem"},{"name":"Geolocation"},{"name":"Google Maps"},{"name":"Haptics"},{"name":"Keyboard"},{"name":"Local Notifications"},{"name":"Motion"},{"name":"Network"},{"name":"Push Notifications"},{"name":"Screen Reader"},{"name":"Share"},{"name":"Splash Screen"},{"name":"Status Bar"},{"name":"Storage"},{"name":"Text Zoom"},{"name":"Toast"},{"name":"Cordova plugins"}]` | `[{"name":"Gradle","native":true,"category":"build_tool"},{"name":"Maven","native":true,"category":"build_tool"},{"name":"Xcode","native":true,"category":"ide"},{"name":"IntelliJ IDEA","native":true,"category":"ide"},{"name":"Android Studio","native":true,"category":"ide"},{"name":"CocoaPods","native":true,"category":"package_manager"},{"name":"Swift Package Manager","native":true,"category":"package_manager"},{"name":"Spring Framework","native":true,"category":"framework"}]` |
| language.primary | TypeScript | Kotlin |
| license.spdx | MIT | Apache-2.0 |
| platform.support | `{"cli":true,"ios":true,"web":true,"android":true}` | `{"ios":true,"mac":true,"linux":true,"android":true,"windows":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://capacitorjs.com","retrievedAt":"2026-10-13T15:18:02.154Z"}` | - |
| pricing.free_tier | yes | - |
| pricing.model | open_source | - |
| pricing.price_level | free | - |
| release.cadence_days | - | 13 |
| release.history | `[{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.8","date":"2026-10-07T14:29:40Z","type":"prerelease","version":"9.0.0-alpha.8"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.5.3","date":"2026-10-07T14:17:42Z","type":"stable","version":"8.5.3"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.7","date":"2026-09-18T16:01:09Z","type":"prerelease","version":"9.0.0-alpha.7"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.5.2","date":"2026-09-11T15:02:26Z","type":"stable","version":"8.5.2"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.5.1","date":"2026-08-31T21:54:55Z","type":"stable","version":"8.5.1"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.4.3","date":"2026-08-31T21:58:47Z","type":"stable","version":"8.4.3"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/7.6.9","date":"2026-08-31T22:03:32Z","type":"stable","version":"7.6.9"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/6.2.2","date":"2026-08-31T22:13:39Z","type":"stable","version":"6.2.2"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.5.0","date":"2026-07-31T15:46:27Z","type":"stable","version":"8.5.0"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.6","date":"2026-07-14T17:39:35Z","type":"prerelease","version":"9.0.0-alpha.6"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.4.2","date":"2026-07-14T17:32:32Z","type":"stable","version":"8.4.2"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/7.6.8","date":"2026-07-14T17:36:20Z","type":"stable","version":"7.6.8"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.5","date":"2026-06-23T15:59:41Z","type":"prerelease","version":"9.0.0-alpha.5"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.4","date":"2026-06-19T08:47:04Z","type":"prerelease","version":"9.0.0-alpha.4"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.4.1","date":"2026-06-19T09:02:01Z","type":"stable","version":"8.4.1"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/7.6.7","date":"2026-06-19T08:43:00Z","type":"stable","version":"7.6.7"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.3","date":"2026-06-02T16:26:24Z","type":"prerelease","version":"9.0.0-alpha.3"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/8.4.0","date":"2026-06-02T15:56:06Z","type":"stable","version":"8.4.0"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/7.6.6","date":"2026-06-02T16:09:17Z","type":"stable","version":"7.6.6"},{"url":"https://github.com/ionic-team/capacitor/releases/tag/9.0.0-alpha.2","date":"2026-05-12T21:10:28Z","type":"prerelease","version":"9.0.0-alpha.2"}]` | `[{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.13.0-alpha02","date":"2026-10-06T12:44:18Z","type":"prerelease","version":"v1.13.0-alpha02"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.1","date":"2026-09-22T12:11:13Z","type":"stable","version":"v1.12.1"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.13.0-alpha01","date":"2026-09-10T07:11:39Z","type":"prerelease","version":"v1.13.0-alpha01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0","date":"2026-08-25T10:30:23Z","type":"stable","version":"v1.12.0"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-rc01","date":"2026-08-11T10:40:44Z","type":"prerelease","version":"v1.12.0-rc01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-beta03","date":"2026-07-28T14:21:30Z","type":"prerelease","version":"v1.12.0-beta03"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-beta02","date":"2026-07-14T11:42:36Z","type":"prerelease","version":"v1.12.0-beta02"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-beta01","date":"2026-06-30T12:18:22Z","type":"prerelease","version":"v1.12.0-beta01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-alpha02","date":"2026-06-16T13:29:52Z","type":"prerelease","version":"v1.12.0-alpha02"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.1","date":"2026-06-02T11:38:38Z","type":"stable","version":"v1.11.1"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.12.0-alpha01","date":"2026-05-19T13:57:43Z","type":"prerelease","version":"v1.12.0-alpha01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0","date":"2026-05-13T13:41:03Z","type":"stable","version":"v1.11.0"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-rc01","date":"2026-05-05T12:37:14Z","type":"prerelease","version":"v1.11.0-rc01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-beta03","date":"2026-04-21T12:47:45Z","type":"prerelease","version":"v1.11.0-beta03"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-beta02","date":"2026-04-10T09:53:50Z","type":"prerelease","version":"v1.11.0-beta02"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-beta01","date":"2026-03-26T17:12:56Z","type":"prerelease","version":"v1.11.0-beta01"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.10.3","date":"2026-03-19T14:01:35Z","type":"stable","version":"v1.10.3"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-alpha04","date":"2026-03-11T12:53:46Z","type":"prerelease","version":"v1.11.0-alpha04"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.10.2","date":"2026-03-05T11:16:32Z","type":"stable","version":"v1.10.2"},{"url":"https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.11.0-alpha03","date":"2026-02-25T13:10:13Z","type":"prerelease","version":"v1.11.0-alpha03"}]` |
| reliability.status_page | yes | - |
| security.disclosure_policy | - | yes |
| security.scorecard | 5.1 | - |
| security.trust_center | https://capacitorjs.com/docs/v3/guides/security | - |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40capacitor%2Fcore&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=maven&package_name=org.jetbrains.compose.foundation%3Afoundation&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Mobile App Frameworks)

| Capability | Capacitor | Kotlin Multiplatform |
|---|:--:|:--:|
| **Core** |  |  |
| Target platforms | iOS, Android, Progressive Web App | Android, iOS, desktop, and web |
| Approach | WebView hybrid | Multiplatform shared logic |
| Primary language | JavaScript, HTML, CSS | Kotlin |
| **Rendering** |  |  |
| Renders true native UI | ✗ | ✓ |
| **DX** |  |  |
| Hot reload | ✓ | ✓ |
| TypeScript-first | - | ✗ |
| **Delivery** |  |  |
| Over-the-air code push | - | - |
| **Portability** |  |  |
| Single codebase, multiple platforms | ✓ | ✓ |
| Desktop support | - | ✓ |
| Builds for web | ✓ | ✓ |
| **Capability** |  |  |
| Native API access | Full native | Plugin / bridged |
| **Ecosystem** |  |  |
| Bundled UI component library | ✗ | ✓ |

*Source: vioscaleAI. Generated 2026-10-16T20:10:34.638Z. "-" = undocumented, not absent.*
