<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f" -->

---
title: Compose Multiplatform Is a Business Decision, Not a...
description: Touchlab argues that Compose Multiplatform (CMP), JetBrains&#x27; extension of Google&#x27;s native Jetpack Compose to iOS, has reached a strategic inflection point...
canonical: https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Compose Multiplatform Is a Business Decision, Not a Technical One | daily.dev
og:description: Touchlab argues that Compose Multiplatform (CMP), JetBrains&#x27; extension of Google&#x27;s native Jetpack Compose to iOS, has reached a strategic inflection point...
og:url: https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f
og:image: https://api.daily.dev/og/posts/oO4SM9b4F.png
og:image:alt: Compose Multiplatform Is a Business Decision, Not a Technical One
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Compose Multiplatform Is a Business Decision, Not a Technical One

**[Touchlab](https://daily.dev/sources/touchlab)** · 9 min read · 1 upvotes · 0 comments

## Summary

Touchlab argues that Compose Multiplatform (CMP), JetBrains' extension of Google's native Jetpack Compose to iOS, has reached a strategic inflection point comparable to where Flutter stood in 2018. Because CMP builds on Kotlin and Jetpack Compose (Android's official UI toolkit), teams can ship native-quality Android and iOS apps with one team, without Flutter's Dart learning curve or React Native's compatibility trade-offs. The piece frames the choice as a business decision around cost, risk, and hiring: CMP adoption is incremental and reversible, letting companies leverage existing Android talent rather than hire Dart/Flutter specialists. It cites JetBrains' 1.8.0 stability milestone for iOS (May 2025), Google's I/O 2026 'Compose First' announcement, and AppFigures data showing Kotlin Multiplatform's rising iOS revenue share, then pitches Touchlab's KMP/CMP consulting and open-source tooling.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://touchlab.co/compose-multiplatform-business-decision>

## Questions this post answers

### Is Compose Multiplatform for iOS stable and production ready yet?

Yes, Compose Multiplatform for iOS reached stable, production-ready status with version 1.8.0 in May 2025, according to JetBrains. Compose Multiplatform for Desktop had already been stable since 2023. This followed Google's Android team declaring at I/O 2026 that Android UI development is now 'Compose first,' reinforcing Jetpack Compose as the primary native UI toolkit that CMP extends to iOS.

_Teams weighing a cross-platform UI framework can track Compose Multiplatform's maturity on daily.dev before committing._

### How does Kotlin Multiplatform adoption on iOS compare to its revenue impact?

Kotlin Multiplatform was used in only 14% of iOS apps on the App Store but contributed to 27% of iOS app revenue, according to AppFigures data from December 2025. This disproportionate revenue share suggests larger, higher-revenue apps are adopting KMP at a faster rate than the overall app population, a trend AppFigures described as KMP quietly eating into React Native's territory.

_Engineering leaders comparing cross-platform frameworks by real-world traction can follow adoption data like this on daily.dev._

### What is the main risk difference between adopting Compose Multiplatform versus Flutter for cross-platform mobile?

Compose Multiplatform lets a team adopt it incrementally and reversibly, screen by screen, because it builds on native Jetpack Compose for Android with an optional iOS extension via Kotlin Multiplatform. In the worst case, a team can keep its existing native Android app and only rewrite iOS, whereas Flutter's architecture requires a fuller commitment since it replaces both platforms with a separate rendering engine and the Dart language.

_Teams de-risking a mobile framework decision can weigh incremental adoption paths like this on daily.dev._

## Similar posts on daily.dev

- [Why we love multiplatform with Kotlin and Compose](https://daily.dev/posts/why-we-love-multiplatform-with-kotlin-and-compose-ygw5twyaa) · Q42 Engineering · 0 upvotes · 0 comments

---

Tags: [#mobile](https://daily.dev/tags/mobile), [#flutter](https://daily.dev/tags/flutter), [#react-native](https://daily.dev/tags/react-native), [#kotlin](https://daily.dev/tags/kotlin), [#compose-multiplatform](https://daily.dev/tags/compose-multiplatform)

[View this post on daily.dev](https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Compose Multiplatform Is a Business Decision, Not a Technical One","url":"https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f"},"datePublished":"2026-09-01T20:33:00.073Z","dateModified":"2026-09-01T20:33:27.781Z","description":"Touchlab argues that Compose Multiplatform (CMP), JetBrains' extension of Google's native Jetpack Compose to iOS, has reached a strategic inflection point...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/289cde52a16a0080e12a00a7bd0b6bad?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/289cde52a16a0080e12a00a7bd0b6bad?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Touchlab","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Touchlab","logo":"https://media.daily.dev/image/upload/s--CQ0u6GwB--/f_auto,q_auto/v1785654902/logos/touchlab?_a=BAMAMicg0","url":"https://daily.dev/sources/touchlab"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"mobile,flutter,react-native,kotlin,compose-multiplatform","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Touchlab","item":"https://daily.dev/sources/touchlab"},{"@type":"ListItem","position":3,"name":"Compose Multiplatform Is a Business Decision, Not a Technical One"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/compose-multiplatform-is-a-business-decision-not-a-technical-one-oo4sm9b4f#faq","mainEntity":[{"@type":"Question","name":"Is Compose Multiplatform for iOS stable and production ready yet?","acceptedAnswer":{"@type":"Answer","text":"Yes, Compose Multiplatform for iOS reached stable, production-ready status with version 1.8.0 in May 2025, according to JetBrains. Compose Multiplatform for Desktop had already been stable since 2023. This followed Google's Android team declaring at I/O 2026 that Android UI development is now 'Compose first,' reinforcing Jetpack Compose as the primary native UI toolkit that CMP extends to iOS. Teams weighing a cross-platform UI framework can track Compose Multiplatform's maturity on daily.dev before committing."}},{"@type":"Question","name":"How does Kotlin Multiplatform adoption on iOS compare to its revenue impact?","acceptedAnswer":{"@type":"Answer","text":"Kotlin Multiplatform was used in only 14% of iOS apps on the App Store but contributed to 27% of iOS app revenue, according to AppFigures data from December 2025. This disproportionate revenue share suggests larger, higher-revenue apps are adopting KMP at a faster rate than the overall app population, a trend AppFigures described as KMP quietly eating into React Native's territory. Engineering leaders comparing cross-platform frameworks by real-world traction can follow adoption data like this on daily.dev."}},{"@type":"Question","name":"What is the main risk difference between adopting Compose Multiplatform versus Flutter for cross-platform mobile?","acceptedAnswer":{"@type":"Answer","text":"Compose Multiplatform lets a team adopt it incrementally and reversibly, screen by screen, because it builds on native Jetpack Compose for Android with an optional iOS extension via Kotlin Multiplatform. In the worst case, a team can keep its existing native Android app and only rewrite iOS, whereas Flutter's architecture requires a fuller commitment since it replaces both platforms with a separate rendering engine and the Dart language. Teams de-risking a mobile framework decision can weigh incremental adoption paths like this on daily.dev."}}]}
```

