this post was submitted on 29 Apr 2024
323 points (100.0% liked)

Programming

17424 readers
24 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 89 points 6 months ago (5 children)

Disinvestment into Python, Flutter, and Dart is a clear signal that those tools are unimportant to Google. I won't be recommending that anyone use Dart or Flutter on new projects.

[–] [email protected] 5 points 6 months ago (1 children)

I won't be recommending that anyone use Dart or Flutter on new projects.

You seem to think Google cares at all. Android has been languishing and Flutter is lightyears ahead. KMP is junk compared to what Flutter has accomplished with a fraction of the bells and whistles.

[–] [email protected] 9 points 6 months ago (1 children)

You seem to think Google cares at all.

Odd conclusion to draw. I'm simply not inclined to recommend tools that are not going to be supported by the organization that created them. Development ecosystems are important when planning a project.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago)

What I mean to say is that Google isn't invested in native android either. It's been repeatedly strip mined by first-timers looking for a quick promotion and left to burn.

Things got so bad that Google gave up on native Views and created Jetpack Compose, which has been a source of many complaints related to performance.

In 2024 Flutter has instant hot-reload, and the "native" (but 100% bundled) solution still requires a complete reinstall on the device. In fact, Dart can compile to native code (or JIT) without an issue, yet Kotlin Native ~~is barely in GA in the new compiler~~ support has been lagging while the new compiler isn't out of beta and is still poorly supported by tooling.

Consider the absurdity: React Native is the only true native framework out of RN, Jetpack Compose, and Flutter. And all of this barely scratches the surface of the tooling problems that Flutter 99% avoids by allowing development on desktop, web or iOS simulator.

[–] [email protected] 1 points 6 months ago (1 children)

Flutter

looking at you, canonical.

[–] [email protected] 3 points 6 months ago (2 children)

I'm not sure how cononical is connected to this.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

they pledged, with google's backing no less, to focus on it to develop ubuntu apps. they even spent a few of cycles working on porting their installer and snap store to it.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

they pledged to adopt flutter heavily in ubuntu's apps, in partnership with google. they even took like a couple cycles to port their entire installer and snap store to it.

[–] [email protected] 1 points 6 months ago

Interesting. This wouldn't be the first time that they pushed forward with tools that were later abandoned due to lack of uptake outside of the Ubuntu ecosystem if it comes to that.

[–] [email protected] 1 points 6 months ago

Sass won't be too happy

[–] [email protected] 55 points 6 months ago (2 children)

You shouldn't have ever been recommending dart or flutter.

Python ain't going anywhere tho

[–] [email protected] 2 points 6 months ago

Python is going to die eventually. It's too slow and the infrastructure is too painful for it to survive super long term.

It's ridiculous popular now though so it's going to take decades to die down.

[–] [email protected] 10 points 6 months ago* (last edited 6 months ago) (2 children)

You shouldn’t have ever been recommending dart or flutter.

Why not?

[–] [email protected] 38 points 6 months ago (1 children)

I would argue so, because Google has quite a reputation for killing projects: https://killedbygoogle.com

Especially with a programming language or framework, you don't want to invest in it, only to find out that it's going on the chopping block.

[–] [email protected] 3 points 6 months ago

Even if Google laid off staff for the Flutter and Dart team, I don't think those two will be going anywhere any time soon. Mostly because a huge majority Android ecosystem is based on them, still a stupid decisions of them.

I hope this doesn't age like milk.

[–] [email protected] 20 points 6 months ago (2 children)

I'm mostly just biased because I do native mobile development but flutter has always seemed like a false economy to me. You're trying to build cross platform but it'll take more than 2x as long as building each platform to get the same quality of experience. So either you have a shittier experience or you take even longer than true native dev.

But I'm obviously very biased here.

[–] [email protected] 2 points 6 months ago (1 children)

Flutter can be socialized for mobile OR desktop OR web. Having all three in a codebase requires lots of code and alternative layouts to properly handle each platform. It's not a "one size fits all" solution, actually to the absolute contrary it's a solution that you have to tailor to the UI you want to build.

I'm making desktop apps with Flutter (it's awesome) and my apps can't ever possibly hope to run on mobile. I'd have to remake most of the damn thing in order to make layouts for mobile.

[–] [email protected] 1 points 6 months ago (1 children)

Right but instead of a toy language there's Kotlin which is already multiplatform.

I just struggle to see why another language needed to be invented to do this.

[–] [email protected] 5 points 6 months ago

Dart does some things better than Kotlin and KMP is a joke compared to Flutter

Trust me on this and go learn it yourself

Also Dart compiles to machine code, Kotlin is JVM

[–] [email protected] 14 points 6 months ago (6 children)

I've used it before and it's got it's pros and cons. Ultimately the big thing is not all apps need to be the "killer app". Some apps are pretty simple, so a one size fits all can be nice. It's definitely not the same as developing natively, but for small teams/apps it's not too bad.

[–] [email protected] 4 points 6 months ago

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 3 points 6 months ago

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 3 points 6 months ago

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 2 points 6 months ago

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 3 points 6 months ago (1 children)

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (3 children)

It looks like your reply got submitted multiple times.

I agree with you now about preference for web apps, but that was not the case when Google started pushing Flutter.

[–] [email protected] 4 points 6 months ago

Looks like my Lemmy-client of choice did some retrying when I had poor connection, sorry about that.

I think trying to go cheap on native apps was always kind of a fool's errand, tbh. Cordova, Xamarin, React Native and so on - all pretty sub-par solutions leading to poor experience without actually materializing the desired savings.

[–] [email protected] 1 points 6 months ago

Looks like my Lemmy-client of choice did some retrying when I had poor connection, sorry about that.

I think trying to go cheap on native apps was always kind of a fool's errand, tbh. Cordova, Xamarin, React Native and so on - all pretty sub-par solutions leading to poor experience without actually materializing the desired savings.

[–] [email protected] 1 points 6 months ago

Looks like my Lemmy-client of choice did some retrying when I had poor connection, sorry about that.

I think trying to go cheap on native apps was always kind of a fool's errand, tbh. Cordova, Xamarin, React Native and so on - all pretty sub-par solutions leading to poor experience without actually materializing the desired savings.

[–] [email protected] 3 points 6 months ago

If you're prioritizing cost, you should probably already be building a web application imo. There's very few cases where I would recommend cheaping out and building a native app, it's just kind of unsound.

[–] [email protected] 27 points 6 months ago (3 children)

Has anyone used Dart the past decade?

[–] [email protected] 5 points 6 months ago

I sorta forgot it existed.

[–] [email protected] 2 points 6 months ago (2 children)

That’s a terrible language IMO

[–] [email protected] 9 points 6 months ago (1 children)

It was originally meant as a better JavaScript and it was. It failed when none of the other browsers expressed interest in supporting it. It languished for a while and then was taken up by the Flutter team. At the time Flutter took it up it was somewhere around the level of Java 8 in features but not quite on par. Since then it’s seen some massive improvements to the type system and language. It’s completely null sound, not just null safe like Kotlin. It recently got records/tuples and one of the more capable pattern matching syntaxes I’ve ever seen in a functional imperative hybrid language. The next stable version of dart will introduce a compiler macro system that is very promising. The syntax isn’t always the prettiest due to it trying to not totally break old code. I do think that it offers a wide range of modern language features that competes heavily with Swift and Kotlin in the mobile space.

[–] [email protected] 2 points 6 months ago

Those are fair arguments, I’ll check Dart again. I think what really didn’t click for me, in contrary of React Native is that the code, and syntax are not very flexible.

I’m pretty good at Typescript and I can make some beautiful reusable code with minimal efforts. This makes it so fast to build apps and I just don’t feel that in Dart.

[–] [email protected] 8 points 6 months ago (2 children)

Just had to look at it out of curiosity and man, it looks like yet another C+=1. The code samples on Wikipedia contain one of those gaudy for-loops and a ternary, as if that was still peak language design four decades after C got published.

But what I seriously don't get: Why the hell did they develop Go then? That's yet another C+=1, with even some design similarities to Dart, e.g. it's garbage-collected but compiles to machine code.
Like, yeah, it wouldn't be the first time that different teams develop competing products at Google, but what kind of culture leads to there even being demand for two C+=1s?

[–] [email protected] 4 points 6 months ago

Dart has all the modern bell and whistles and bullshit syntax too, the Wikipedia samples hardly do it justice

[–] [email protected] 4 points 6 months ago (1 children)

I can’t get enough of JSX (React) markup syntax personally, it’s just too simple and efficient that I don’t want to learn anything else ;)

To be fair, Go is very different from Dart and if they look like C it’s because they try to give you the abstraction with the memory safety which is pretty great.

But yeah Google is kinda the developer of useless languages. Even if Go is a banger of a technology

[–] [email protected] 3 points 6 months ago (1 children)

If you have the freedom try Typescript.

The tsx files are almost identical to jsx except for the need to define the field types your ingesting.

While thats a little extra work, it allows Visual Studio Code to perform deeper analysis and provide much more helpful contextual hints.

I grew to love JSX and tried TSX out of interest and you couldn't convince to go back to pure JS

[–] [email protected] 2 points 6 months ago

TSX Code

I actually use it in all of my projects it’s so delightful lol!

[–] [email protected] 33 points 6 months ago

Aside from everyone who's using flutter?