Disclaimer: Didn't go "full on". After getting hyped, did it for a 9 month project, took up to do some maintenance 6 months later. Know some people that did.

The answer? Depends on what you do.

Dart by itself as a language is stuck somewhere between JS and TS. The language itself can be quite powerful or expressive, but can also cause chaos if you're not careful and use static analysis properly. Also the way some functions are handled per platform can cause nightmares if you don't expect the difference (like a timezone offset giving you a different value on each platform for the same input).

With Flutter itself, I have multiple issues except "it's using dart".

Skia itself is kinda heavy and buggy. Some devices would experience "black screen of death" with the app due to a bug in Skia and OpenGL ES. The "replicated native" UI is also quite visibly not native on some platforms and the more experienced users could feel something was off.

The dependency hell - "oh this dependency uses Lib X depending on Y1.1, but I also need Z which depends on X which actually uses Y0.3 so my build brakes..hmm. Oh wait both of these libs are made by google themselves and the only alternatives have been deprecated due to google releasing their own?". Get used to forking and breaking API changes.

The "plugin" hell - oh god, this one is special. Not sure if it is still going on, but at a certain point, trying to develop or maintain a native plugin became hell. They changed how the plugin system works, but they half-implemented it and the proper documentation was nowhere to be found. IIRC months were passing by with the community not being able to properly develop plugins.

The way they handle issues - it doesn't fit our template perfectly? closed. Inactive for a while? closed. Nevermind that they aren't solved. Just ignored and closed.

"flutter create" - sometimes during development, if you updated flutter, you have to clear your iOS & Android src and call flutter create to recreate them since they decided to change something in the way it is handled.

The community - Honestly, just feels like the community around flutter is full of inexperienced devs and google promoters, which influences the narrative, decisions and the "what the real problems are" discussions. I.E. a discussion about rendering problems or problems with background services will routinely be overshadowed by discussions about which state store/general architecture to use, "how to use flutter and firebase" or "hey flutter is better than everything else". The problem here is not that there is a lot of beginners content, the problem is oversaturation with it (both from community and google) and the "pushing real problems under the rug" since that way the developer acquisition > churn and nobody needs to have the "is this really viable as the future" discussions.

The "all google google everything" - In the end, when being in the flutter world, you cannot get away from the Google branding. Their products, design language, branding and experts are being pushed everywhere possible and at one point the anxiety of it going "the Google way" creeps in too.

All in all, a great experiment that got way too marketed way too early on for it to evolve properly.