# First Impressions of Compose Multiplatform

DevFeed: [First Impressions of Compose Multiplatform](<https://devfeed.tech/articles/first-impressions-of-compose-multiplatform-38493.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2024-10-17/first-impressions-of-compose-multiplatform/>)

Author: Eevis Panula

Published: 2024-10-29T03:28:47.913000Z

Content type: opinion

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [SVG](<https://devfeed.tech/topics/svg.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apps](<https://devfeed.tech/tags/apps.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [svg](<https://devfeed.tech/tags/svg.md>), [ui](<https://devfeed.tech/tags/ui.md>)

## AI overview

An Android developer shares first impressions of using Compose Multiplatform and Kotlin Multiplatform while building an iOS and Android color-picker app. The article focuses on the UI experience, noting that a Canvas-based illustration and other familiar UI components worked across both platforms, while acknowledging that the app had not yet explored architecture, databases, or view models.

## Source excerpt

I finally had the time to dive into Compose Multiplatform - and this was also my first experience with Kotlin Multiplatform. I'll share my first impressions from using this technology in this blog post. Some words from my background: I'm an Android developer who's confident with Kotlin and Compose. I've been working with different languages and frameworks before switching to Android development, so I could say learning new things is easy. However, I've never done any iOS development, so that part is entirely new to me. The app I'm working with is currently just UI, and I have yet to dive into any architectural components, such as working with databases or view models. So, that's the context for these thoughts, and it's likely that once I get deeper into the development and concepts, I'll have more opinions and thoughts. The App I'm Building The moment I started writing the blog post, I realized that it might be helpful to talk about the app I'm building here. So here we go. It's an app version of neule.art, a color picker for knitted sweaters I created a few years ago. In the first version, there's just the picture of the sweater (the same as on the website) and modals opening for choosing the color from the list of colors. The colorways are based on the colors of Istex Lettlopi, a yarn often used for Icelandic sweaters. When I created the website, I hand-drew the picture on top of an image of my friend wearing a sweater and then turned it into an SVG. In the app, I used Canvas to replicate the illustration. Here's what the app looked like at one point of development: Now that you have an idea of what I was building, let's get into my thoughts about Compose Multiplatform. Some Things Just Work After I had created the first version of the app, there was one thing I was really surprised about: On the UI level, things just worked. One of these working things was the illustration. I first drafted the illustration for another project with Compose (as part of my explorati