# compose

Roar Gronmo

12/16/2019, 6:38 PM
When reading Flutter tutorial I see some resemblence to @Compose, is this because of Material pattern which both use or some other type of cooperation...?

Isaac Udy

12/16/2019, 6:49 PM
Compose and Flutter both use a similar pattern for UI development. In fact, Compose has its origins in the Flutter codebase (I believe some of the Flutter code was actually re-used for Compose to begin with!). This pattern of declarative UI is now becoming quite popular across a variety of contexts. React (front-end Javascript library) is similar, and so is Swift UI (for iOS).
💡 1

Adam Powell

12/17/2019, 2:14 AM
yeah, pretty much the above. The teams keep pretty open communication between one another. We've diverged quite a bit by now but a lot of the higher level Material nouns have stood the test of time so far
we started from some similar constructs and some of the same utility code and then the divergence happened naturally as compose was influenced by kotlin patterns and the emit model

Roar Gronmo

12/17/2019, 8:21 AM
It would have been very interesting if (or in some time in the future) Flutter was kotlin based, not Dart based... maybe we will have 'Flutter on' likes, like 'Flutter on Kotlin', 'Flutter on C++', 'Flutter on Java', 'Flutter on Delphi' (yeakes!). Anyway, multiplatform will (in time) be a must, Embarcadero tried, but it became too expensive... I see bright future for theese patterns, but it should rely on same basic rules, then it is more simple to stay stick and in the same time have the flexibility to visit other platforms to solve wider projects. RG


12/18/2019, 11:34 AM
Flutter was Kotlin based? 🤔


12/20/2019, 1:45 PM
Well compose will be the “Flutter on Kotlin” 😄 Flutter is not a platform to just simply target. it is a Dart dsl layer on top of Skia. Same it is with Compose. it is a Kotlin dsl layer on top of android canvas (which is skia under the hood). I guess as soon as an FFI is written for Skia on your selected language, it can be called
Flutter on
as long as the license lets you do so.