I've recently been researching which of these technologies to use for making desktop apps for Windows, Linux, and as a bonus, possibly mobile apps for Android.
For context, I 'm primarily a web developer but very happy with using SwiftUI for iOS/iPadOS/MacOS for side projects. What I'm looking for is something to supplement this in other ecosystems.
So far I've installed both Flutter and Compose and tried some beginner tutorials. My first thoughts are:
- Not restricted to a specific IDE.
- You can use Flutter cli.
- Getting Started guide was easy to follow. Even though it was for Android it worked well for Windows.
- Great support for Linux - with Ubuntu using it for software going forward.
- Lots of plugins, resources, and a big community.
- IMO - Flutter seems less like SwiftUI than Compose - More verbose?
- Will desktop apps look like Android apps wrapped in a window? I see there are 'Yaru' style widgets for Ubuntu, but can't see anything for Windows.
- Desktop plugin ecosystem is more limited than Android.
- Has some edge case issues which make it a non-starter for certain projects. E.g. #23913.
- I like the syntax - feels very similar to SwiftUI.
- Convenient previews in the IDE.
- Appears to a great, upcoming solution for Android.
- Currently has to use Android Studio Canary to make an Empty Compose for Desktop project.
- Code appears to differ more for each Ecosystem (Desktop vs Android). I tried following the beginner tutorial for Android but targeting Windows (Like I did with Flutter) and could not get this to work.
- Fewer resources - especially for Desktop development.
These lists look very unbalanced in Flutters favour, but as a newbie to both ecosystems I'm wondering if I'm missing something. Part of me is very tempted by Compose, but as someone not too familiar with Android Development I feel it would be more of an uphill battle.
I'm very keen to know what other people think about these two solutions, or if there is anything else out there that people are betting on!