Skip to content(if available)orjump to list(if available)

Dart added support for cross-compilation

Daegalus

I love Dart as a language, but there were multiple choices made by Google that kind of ruined it outside of Flutter.

First, when it was still a viable Node.js alternative, Google only partially cared about that side. And when they did, they had someone make Shelf, which kind of killed a lot of web framework initiatives (including my own). Instead of building support tools, and fleshing out the stdlib, they were busy making competing libraries. And shelf was miserable to work in, and killed off a lot of desire to work on backend.

Second, at some point they just said F U to the backend and focused 100% on frontend, abandoning backend to whatever the current state it is in. I don't think they have improved anything on that front much.

Finally, when their gamble on Web/Frontend failed, and aliented all the tool/backend developers, Flutter was the only thing to save it.

Dart could have been a great Node.js alternative, but Google was too fixated on web. Typescript ate its lunch, browser devs said no, including Chromium team, and now Deno is a viable alternative to Node.js and Dart backend.

I still maintain a couple of my dart libraries, and have been for 12 years now i think (since Dart launched). maybe longer. but I don't do any other active dev in Dart. I just fondly think of what could have been anytime I go into those codebases.

jurmous

I prefer the Kotlin route. It is also supported by a foundation of multiple companies which includes Google and Kotlin is the native language for Android. It supports more targets already for years with Kotlin Native. And recently the Compose iOS target became stable with 1.8 enabling cross platform UI development. It is easier to integrate with native components.

https://blog.jetbrains.com/kotlin/2025/05/compose-multiplatf...

Also the web stack (incl Wasm) got some big updates.

https://blog.jetbrains.com/kotlin/2025/05/present-and-future...

Why would Google still invest in Flutter and Dart when Kotlin is becoming this versatile?

Are there long term advantages with Dart which I am missing?

zt64

I also agree, supporting both tools seems unnecessary. In my experiences Kotlin multiplatform and compose multiplatform is vastly more enjoyable to write instead of Dart. The development environment alone has also been much easier to get started with using Kotlin multiplatform.

bergwerf

I feel like at this point Dart suffers from being a Google project: Google decides its fate, and Google has built a rather poor reputation when it comes to stability. I don't have concrete evidence, but I think the Google culture adheres more to the rolling release and move fast and break things ideology. I personally witnessed several of my own Dart projects needing serious refactoring after just a few years.

Also, I feel like Dart is a maximalist project. "Batteries included" also means a whole myriad of tools and libraries also at the grace of the Google Dart team.

pjmlp

It suffers from being the Flutter language, it was already given as dead outside Google, had it not been for Flutter.

I also advise watching the Angular documentary, where they briefly describe being forced to adopt Dart by management was a friction point, only sorted by letting them go with TypeScript, and AngularDart be its own thing.

https://www.youtube.com/watch?v=cRC9DlH45lA

flohofwoe

I think the main problem for Dart was that Typescript is simply the better approach for fixing Javascript (even though TS has its own share of problems with its 'kitchen sink type system').

lolinder

> even though TS has its own share of problems with its 'kitchen sink type system'

Eh, people critique the kitchen sink type system but at the end of the day that system is why TypeScript took over, not a weird add-on you have to put up with to get it. It's what makes it possible to assign comprehensive types to ~every JS library, which is what allows TypeScript to gradually eat the whole JS ecosystem.

Any other approach stops short of the goal of being JS+Types, which means you end up with a different language with different semantics, which is where Dart failed.

akmittal

Go is doing exceptionally well while being a Google project. I don't think its a Google problem.

IMO Dart has become a niche Flutter language instead of a general-purpose language. Dart decided to focus on being a client-side language and it is very difficult to win over JS/TS.

porridgeraisin

I think that's because it's of use to google internally. Dart and lit probably don't find as much use.

nikanj

It's a Google project: Batteries included, and once the batteries are empty, they throw the whole thing away

owebmaster

> I feel like at this point Dart suffers from being a Google project

Not only Dart. Lit was completely abandoned without any public announcement. Soon it should be added to the killed by google website.

mdhb

wtf are you taking about with “completely abandoned”? https://github.com/lit/lit/pulse/monthly

owebmaster

Abandoned doesn't mean dead (yet). Google don't care and don't spend a dime on it anymore but they "forgot" to tell that to people using lit.

finnjohnsen2

Dart is easy to learn. If you've been around a while and know a few c-like; the gotcha hits pretty quickly. Nice tooling, good documentation and generally no surprises good or bad.

nerder92

Dart is one of the most underrated language out there.

Paradoxically is alive thanks to Flutter, but is also not as popular due to Flutter.

radiKal07

Dart is such an amazing language. I really wish it gained traction in more industries.

agilob

In two companies we already gave up on Dart and Flutter because of how it's backwards incompatible is. The language and frameworks moves very fast, it develops new tools and classes before the old ones become mature enough and adopted by the industry. Then suddenly, Flutter 27 lands, requires Dart 45, which requires intl 81.2.5. and now you can't compile anything anymore. Whole upgrade process, tools, compiles and libraries are broken for months before Google and OSS catches up. Once ecosystem is on Flutter 27 your upgrade path takes weeks, because a core method was renamed or compiler flag removed and CI/CD is failing. So you just move back to Java and Kotlin, where code from 2012 still compiles and works just fine.

mhoad

It’s kind of telling that you had to rely on fake examples here because I don’t know what you’re talking about at all as someone in the exact same ecosystem.

I’ve genuinely never run into something that even remotely resembles what you’re describing in half a decade.

Just to point out the ridiculousness of your comment Dart is 10 years old at this point, follows semver and is on version 3. Your story really doesn’t check out at all.

They actually go into fairly stupid amounts of details to make keeping up with changes simple. They strictly adhere to semver so you shouldn’t ever be surprised and then they literally have a tool baked into the CLI which will do all of the upgrades for you that static analysis can handle which is the overwhelming majority of them in my experience.

https://dart.dev/tools/dart-fix

justin66

[delayed]

hamaluik

I released two apps built in dart on flutter. I loved it at the time, but I ran into this issue headlong with both of them. Release v1.0, move on to other things, come back in a year with a new computer to fix a minor bug and I can’t even compile the original release anymore, and had to spend forever rejiggering everything to get it back to the state it was when I left it. I really loved dart, and even flutter, building in it was a breeze. But the churn made the js ecosystem look slow.

quaintdev

I developed this app few years agon in Flutter. I can't build it anymore. I can fix my own codebase but it shows issues in dependencies

https://github.com/quaintdev/anchor

sabellito

Genuine question: what do you think is amazing about the language?

wiseowise

Tooling, to start with.

First party lsp and plugins for IntelliJ, VSCode, formatter, test, Flutter, etc.

It’s like Go meets Java, but in a great way.

als0

> It’s like Go meets Java, but in a great way.

I am struggling hard to imagine how any greatness could be achieved from that. Can you say a bit more?

mdhb

Tooling, documentation, language design, balance across a million different competing goals, interoperability, deployability, simplicity, expressivity and much more.

It’s just a REALLY REALLY nice modern language with a team of very smart people behind it who very clearly sweat the small details and have a long history of being able to make great decisions along the way even in ambiguous situations where it’s not always clear what the best path is going to be.

mdhb

Agreed, one of my pass the time activities during covid was basically just spending the year trying out and evaluating different languages across a whole range of different metrics and features. For me Dart was the clear winner and I’ve never once regretted making it my new default, in fact it’s only increased its gap compared to everything else in the time since then.

null

[deleted]

gitroom

dart's always been solid for me but barely see it in big companies tbh - something stopping adoption or is it just stuck in its lane?

mdhb

It’s only maybe for the past two years now that it’s even been promoted as a general purpose language, which I think was a huge oversight on the Dart team’s behalf. For a long time they would just promote it as a great way to build UIs. What ever drove them to talk about it like that originally is beyond me.

neonsunset

The competition is too strong. At a team or organization level, where neither uses Flutter, why would you use Dart when C# and Kotlin exist? Both have better performance, better UX for doing common application tasks and vastly bigger ecosystems.

pjmlp

Additionally, none of them are tied to a UI framework as survival, had it not been for Flutter and Dart would be long gone.