Of all the myriad projects from Google, how is Flutter/Dart the one that survived the axe? I’m not saying I hate them - I think they’re both really neat - I just don’t understand why Google keeps these limping along with weak support and no clear vision within their broader web ecosystem.
People don't get how important it is to have control over the basically the whole programming ecosystem of a particular language. Google services dominate Flutter. Look at all the services Google provides. You'll find first class support in Flutter. Compare that to AWS, Azure, etc and these usually have wip features or simple adapters. So if you like and use flutter/dart, for whatever reason really, chances are you'll use any of Google's services because their integration into the framework is much better, and the libraries are better maintained.
I am convinced they did some proper analysis in-house and continuously find that investing the flutter/dart yields returns across all other services. The language/platform is the gateway.
While you aren't wrong, in my experience when the amount of nesting starts giving me bad vibes it usually indicates that something can be refactored out as a standalone widget.
Still, Flutter now feels ancient to use compared to something like Compose, in that regard.
I treat nesting as a feature: if the nesting starts getting deep, that's the code indicating to extract a child widget. It pushes me toward better composition and smaller, reusable components instead of giant monolithic views.
great for mobile apps, fine for desktops, basically unusable for browsers unless you do wasm, if web can be revamped/improved it can be the best option for cross platform GUI
While I've used Flutter since Alpha, I've been away for a few years. A few things have shocked me in these release notes: how come Impeller still wasn't the default engine for all platforms? Also, why are they migrating to WASM if one of the core features of Dart is compiling to JavaScript? Finally, how come multi window support only get viable now, after four years having desktop support?
Honestly, Flutter is an extremely enjoyable development experience I would recommend anyone I care for to stay away from. The fact it's developed by Google doesn't help: it's a matter of time before they kill it like they did with so many UI libraries and frameworks already, specially with JetBrains developing Compose Multiplatform and the Android team going all-in in the Compose strategy.
I always find it strange that flutter isn’t built with golang or typescript. Why use a new language? When flutter came out both languages existed so curious about that.
The main reason i can think of is generics not existing initially
I’m currently using it for small projects (under 100 users each), it’s definitely a niche choice, but it’s super easy to hand-roll from scratch. I’ve been running an app stack that’s pure dart, top to bottom, and it’s great being able to share code between my flutter app, web app, and backend.
Flutter is quite good for shipping quickly and a set of decent same/similar apps. You lose some "quality" and a lot of "native performance" and feel (yes, that's important distinction here. So the usage, if still it will be used, will be limited to that I believe.
KMP I guess missed the ship and that ship has sailed quite deep into the ocean now. PWA won't be a choice anymore except for the "niche" usage.
React Native? I guess there will be use cases for this (at least for a while) as it is deeply entrenched into too many apps and many of those are very famous apps. Besides there's always been automasochism for the reason to pick react native.. so that's there :D
I will also expect native to pickup now (unless we only see single person tech teams now) because of AI. I mean as LLMs started getting better at coding my first thought as a native dev was - hah, hopefully people won't have to deal with such monstrosities in even small teams now.
Also, not having to see a package.json with a trillion entries (and counting) alone can put all these choices above RN for me.
I still prefer React Native with Expo over Flutter, mostly for practical reasons:
* Language and hiring: TypeScript has a much larger developer pool. Dart is a solid language, but finding experienced Flutter engineers is harder.
* Platform model: React Native maps much more naturally to native platform concepts. Flutter owns much more of the rendering stack, which is powerful, but also creates another abstraction layer between the app and the platform.
* Performance: Flutter can absolutely be fast, so I would not claim otherwise. My experience, however, is that RN has required less work to get interactions and animations that feel consistently native.
* Ecosystem: RN benefits from the broader React, TypeScript, JavaScript, and native ecosystems. Expo has also improved dramatically and now covers a large part of the usual mobile platform work.
* Platform-specific features: neither framework completely eliminates native code. Things like widgets, Live Activities, Dynamic Island, extensions, NFC, and other platform APIs eventually bring you back to Swift/Kotlin anyway.
* Migration to native: if the long-term destination is Swift and Kotlin, I find RN a better intermediate representation. Its component model and platform integration are closer to native concepts, which also makes the codebase easier for agents to translate incrementally into proper native applications.
That said, these are trade-offs, not claims that Flutter is bad. Flutter has improved a lot, and for teams that want a highly consistent cross-platform UI, its rendering model can be an advantage.
Does anyone know if the original promise of their simple layout model proved itself?
IIRC, the Flutter team mentioned how using just width/height constraints is enough to represent all relevant layouts. This sounds very nice, being so much simpler than Flexbox and miles ahead of CSS Grid ergonomics.
Did it live up to the promise or did they expand the model with Flex/Grid/etc?
I just moved out last month, it's just pain after sometime now, it's okay and good for mobile cross, when it comes to desktop, I'd have to struggle to support linux with quick hangs
To an untrained eye who does not care about dropping a few frames, the web version is almost indistinguishable from the "native" build. Especially if you add it to homescreen from safari to hide the navigation bar.
38 comments
[ 0.23 ms ] story [ 25.5 ms ] threadI am convinced they did some proper analysis in-house and continuously find that investing the flutter/dart yields returns across all other services. The language/platform is the gateway.
Still, Flutter now feels ancient to use compared to something like Compose, in that regard.
I personally would like for it to pick up some ideas from Svelte.
Honestly, Flutter is an extremely enjoyable development experience I would recommend anyone I care for to stay away from. The fact it's developed by Google doesn't help: it's a matter of time before they kill it like they did with so many UI libraries and frameworks already, specially with JetBrains developing Compose Multiplatform and the Android team going all-in in the Compose strategy.
The main reason i can think of is generics not existing initially
lol.
Flutter can get you up and running quickly. If I want cross-plaform support, one codebase is hard to beat.
I get the impression that more are going for native mobile, KMP or PWA.
KMP I guess missed the ship and that ship has sailed quite deep into the ocean now. PWA won't be a choice anymore except for the "niche" usage.
React Native? I guess there will be use cases for this (at least for a while) as it is deeply entrenched into too many apps and many of those are very famous apps. Besides there's always been automasochism for the reason to pick react native.. so that's there :D
I will also expect native to pickup now (unless we only see single person tech teams now) because of AI. I mean as LLMs started getting better at coding my first thought as a native dev was - hah, hopefully people won't have to deal with such monstrosities in even small teams now.
Also, not having to see a package.json with a trillion entries (and counting) alone can put all these choices above RN for me.
* Language and hiring: TypeScript has a much larger developer pool. Dart is a solid language, but finding experienced Flutter engineers is harder.
* Platform model: React Native maps much more naturally to native platform concepts. Flutter owns much more of the rendering stack, which is powerful, but also creates another abstraction layer between the app and the platform.
* Performance: Flutter can absolutely be fast, so I would not claim otherwise. My experience, however, is that RN has required less work to get interactions and animations that feel consistently native.
* Ecosystem: RN benefits from the broader React, TypeScript, JavaScript, and native ecosystems. Expo has also improved dramatically and now covers a large part of the usual mobile platform work.
* Platform-specific features: neither framework completely eliminates native code. Things like widgets, Live Activities, Dynamic Island, extensions, NFC, and other platform APIs eventually bring you back to Swift/Kotlin anyway.
* Migration to native: if the long-term destination is Swift and Kotlin, I find RN a better intermediate representation. Its component model and platform integration are closer to native concepts, which also makes the codebase easier for agents to translate incrementally into proper native applications.
That said, these are trade-offs, not claims that Flutter is bad. Flutter has improved a lot, and for teams that want a highly consistent cross-platform UI, its rendering model can be an advantage.
IIRC, the Flutter team mentioned how using just width/height constraints is enough to represent all relevant layouts. This sounds very nice, being so much simpler than Flexbox and miles ahead of CSS Grid ergonomics.
Did it live up to the promise or did they expand the model with Flex/Grid/etc?
How does such a basic feature only get added so late?
The web app is here: https://app.vocabuo.com (completely free) And the links for Android/iOS builds are here: https://vocabuo.com (soft paywall)
To an untrained eye who does not care about dropping a few frames, the web version is almost indistinguishable from the "native" build. Especially if you add it to homescreen from safari to hide the navigation bar.