38 comments

[ 0.23 ms ] story [ 25.5 ms ] thread
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.
Flutter's not a web ecosystem project. It doesn't do HTML at all. Using canvas to pump pixels in people's faces does not the web make.
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.

Decoupling material and cupertino makes a lot of sense.
The one thing I hate about flutter is the ui code having an ungodly amount of nested brackets.
For some reason I prefer those to curlies.
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.
Awesome. I'd love if Flutter could also finally get Impeller on Web (I'm tracking the GitHub issues, seems like there's progress at least).

I personally would like for it to pick up some ideas from Svelte.

Oh finally multi-window support - I might finally be able to flutter for a simple desktop app side project I've been wanting to build.
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.

Been waiting especially for multi-window so it can be picked up by Flet.
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

how's Dart for back end development? is anybody using it to build APIs? the syntax doesn't look too bad
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.
> We are actively working toward enabling WebAssembly (Wasm) by default for Flutter web applications, bringing native-like performance to the browser.

lol.

I've never used Kotlin, but I really enjoy Flutter. Not nearly as much as SwiftUI and the Lord's language, mind you.

Flutter can get you up and running quickly. If I want cross-plaform support, one codebase is hard to beat.

Tested lots of flutter desktop apps on Github last year. All have sluggish animation. FPS rarely reached 60.
Are Flutter and React Native still viable choices today?

I get the impression that more are going for native mobile, KMP or PWA.

(comment deleted)
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.

other than hiring, everything you said are reasons I'm staying away from react native. Dart has improved a lot and is much better
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?

> Linux and Windows now support popup windows, allowing you to build native context menus and utility palettes.

How does such a basic feature only get added so late?

the "Text and selection" demo caught my attention, why flutter render the shortcuts bar itself and not delegate this to the underlaying os?
Flutter is good on its own but dev tooling and long compile times kills all the enjoyment.
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
If anyone is interested to see the WASM + canvas renderer performance compared to Android/iOS builds, I've build my app for the web.

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.

Need to let this project die and invest the manpower + experience into something useful.