In the other hand, I had one of the best experiences in my life with Flutter. Everything is extremely well designed. 100% of the problems I had with Flutter dev, weren’t in Flutter itself. For example, sometimes I needed some magic out-of-flutter configuration to make Firebase authentication to work on iOS. Sometimes Java runtime problems would prevent the Android emulator to run. But with flutter itself, I had the best experience. It’s a god sent.
Some things to consider.
1. You will have to deal with the iOS and Android respective build systems and updates. Apple likes to force updates on developers (new to update Xcode + MacOS to leverage newer SDKs). Adding React Native or Dart/Flutter adds one more build system to learn along with another set of dependencies (node.js, etc) to keep up to date.
2. Both SwiftUI and Jetpack Compose are defined using Declarative UI, which you will find similar to what you experienced in React+Typescript. A lot of the paradigms translate well and I believe Swift and Kotlin are somewhat similar.
Overall, if I had to choose between React Native vs Flutter, I would choose React Native. It is a proven solution deployed by lots of production apps. The documentation is extensive and examples are readily online along with 3P libraries. Facebook is committed to React and its development, React has a large developer community, and you will benefit from using Native UI widgets and re-using your Typescript background.
In any case, I'd never use React Native again, and stick to Flutter or Xamarin.
Flutter is not perfect but orders of magnitude than RN/Xamarin/MAUI.
Source: I developed over 50 iOS/Android Apps, many of them with millions of users.
If you have nothing too complex (like a "show information only" app consuming simple web apis), you could go for Avalonia UI, MAUI or Uno Platform - because you already know C#, but if you want to build something serious, learn Flutter. Be aware that this is not as easy as it sounds - the core concepts are a bit different from C# and you can't apply your knowledge 1:1.
There is also Ionic / Capacitor (JavaScript), but the apps felt pretty slow and often crashed within my tests.
I'm totally into AvaloniaUI and maybe a bit biased, because I think this is the most promising approach in C# for now, but since this is more a community effort and not supported by microsoft, developer wise it is not the same experience as MAUI. And C# pretty painful, if you plan to use any Hardware Apis (Audio, Video, Camera, Gyroscope, etc.) with the most modern approaches. I haven't tested Uno Platform yet, but it feels like it's somewhere between Avalonia and MAUI...
## Flutter (recommended)
+ cross platform
+ well designed
+ fast
+ good libraries
- steep learning curve
## .NET MAUI + easy to learn
+ supported by microsoft (it's not gonna die too soon, although I would love to see go more effort in Avalonia UI)
- Not really cross platform (no linux)
- Weird build errors (microsofts build system is horrible)
- Documentation is not up to date
- Often missing native device / library support (camera, audio-player, Drag&Drop, OnMouseOver, Gestures etc.)
## Avalonia + easy to learn
+ promising community effort (quick response times, huge progress)
+ "fast and good" internal design (runs on raspberry framebuffer)
+ cross platform (win, lin, mac, ios, android, wasm)
- documentation (it was a really huge effort to find the best project setup - avalonia.xplat)
- support (small team, huge todo list)
- Often missing native device / library support (camera, audio-player, Drag&Drop, OnMouseOver, Gestures, SecureStorage, etc.)
- Weird build errors (microsofts build system is horrible)
## React native (not recommended) + easy to learn
- package hell
- cryptic reoccuring unsolvable issuesWell, maybe it is just my personal problem and should not prevent others from using it.
Or a framework few others use written in a language Google is likely to drop support for randomly?
React Native is the easy choice for me.
The resulting product is, while not always 100% perfect, head and shoulders better than anything I've ever seen produced by something like React Native, Ionic, etc...
Flutter is not perfect but orders of magnitude than RN/Xamarin/MAUI.
Source: I developed over 50 iOS/Android Apps, many of them with millions of users.