Have an extension of the question <@U6DPLM8E7> ask...
# compose-desktop
d
Have an extension of the question @v79 asked the other day
Is compose-desktop feasible for desktop-only apps? Or am always going to be constrained by its mobile-centric roots? I'm needing tooltips, file pickers, font pickers, that sort of thing...
If someone is interested in building primarily a desktop app (maybe a mobile app port someday), how do Flutter and Compose-desktop compare for that purpose? (I know there are probably many Flutter vs Compose questions but, sorry, it's very confusing as an outside observer)
👍 1
a
Btw Flutter will be a default choice for future Ubuntu apps. Why not Compose? 🤓https://twitter.com/ubuntu/status/1367063203600031746?s=19
j
Yeah, we started a conversation with the Ubuntu team after that tweet went out, so conversations are ongoing. We will keep you all in the loop as things continue to evolve.
💯 17
👍 6
v
I fear this is a mental leap too far for me... I find it very difficult to look at a running Compose app and find the associated code; nothing is named (variables, anyone?). There's no Structure support in IntelliJ (and how could there be?). Just as I was getting the hang of DSLs as a mental model, here comes a new model with nested functions which look like constructors, but aren't (and aren't assigned to variables anyway). I look at a line of code like
Copy code
val model by component.models.asState()
(from the Todo example) and I've no idea what it does - is this applicable to me and the app I'd like to write, or not? Maybe I'm just too old and stuck in a OO, Imperative, enterprise Java world, but by golly Compose is difficult to understand.
👴 1
Oh, and Modifier is FAR too overloaded with functions and behaviours and ordering matters, so it's clearly not a builder pattern...
☝️ 1
m
@v79 the fact that the ordering must be explicit is a great feature. In the android View class the root of the pain is that every property has to be aware of all of the others to work correctly (you have padding, margins, clipToPadding, scrollbar width to account for the padding, bidirectional padding, etc). In compose the contract between the modifiers is very minimal, there is no risk of getting to a point where you couldn't keep the full set of behaviors in your head anymore.
☝️ 1