I'm currently using Flutter for a project. Considering I've been lead author or co-author on a few Android programming books, using a cross platform SDK was new for me. Dart is easy to learn, and Flutter makes attractive UI easy. I love to work on a big ambitious projects that really need platform specific implementations, but for the vast majority of cases a good cross platform SDK works well, and is a cost-efficient approach.
Well, not entirely not entirely a new experience: I had to use Xamarin on Android once because the client wanted a unified code base their existing Windows coders could maintain. It was an appropriate choice for that project, which was a piece of industrial equipment. I would not use Xamarin for mass market or even widely deployed enterprise apps.
Same here, I've slept these past few years on Flutter even when someone recommended trying it out and was pretty enthused about it. Last month I got roped in a greenfield project and allowed to chose the stack, instead of the tried and true React Native I went for Flutter and I'm glad I did so.
Also shout-out to flutter_rust_bridge and a video[0] on YouTube from a conference explaining how to fit it in, I get to use Flutter and Dart for the UI parts and everything else in Rust. Another great thing because of Flutter's hot-reload I get to avoid the sucky parts of waiting for Rust code to compile to see UI changes. I've also had good (not great) success getting Gemini 3 Pro to sketch out the initial UI and the boilerplate and that also allowed me to move a bit faster than I would've otherwise.
Makes sense. Flutter has a good reputation - I've heard mostly positive things.
For me, I had bad experiences with React Native in the past and already built another iOS app in Swift. Knew the ecosystem, liked SwiftUI, so sticking with native felt right. Less context switching, and I can use Apple frameworks directly – MusicKit for Apple Music integration and native offline playback would've been painful to wrap.
Cross-platform definitely makes sense for many projects – just wasn't the right fit for me this time.