News for hackers. Stuff that matters.
Re:Flutter desktop shells by rubber_duck on Thursday April 25, 2019 @10:38AM (#19748600)
I've tried dart back in the Angular 2 beta days with Angular Dart and after using it I have the exact opposite feeling about it.

It's a thing that solved a lot of very real problems that are still halfassed by NPM and Node ecosystem - package manager, build system, tooling around it - it was all a step above the quality of TypeScript/NPM/JS. Saner object semantics, good standard library, good tooling - it just got me to solving the problems I had. DOM wrappers it had were very nice, came with their own wrappers for Observable events (from standard library). They had proper async/await implementation working waay before TS.

Dart feels like a better TypeScript and for me the learning curve was really low.

One issue I had with it was using Dartium to debug the code - Chromium build that ran Dart VM naively to avoid transpiling to JS all the time - it was buggy as hell back then. Supposedly the dev compiler for JS is fast enough now that this isn't an issue - and in the case of Flutter you're running Dart natively so it's irrelevant.

I'm looking forward to doing a new project in Flutter this weekend - I've played with a hello world app when it was in beta and I was very impressed with the dev experience - hopefully it lives up to it in practice.

Re:Flutter desktop shells by stephenhuey on Thursday April 25, 2019 @11:16AM (#19749039)
I concur. I've never tried it with Angular, but I have written it for Flutter, and after a couple decades with JavaScript, I much prefer Dart (and it took no time to learn and I simply Google for the API as much or less than any other new language I learn these days). It was easy to start building a Flutter app with it immediately--not much of a learning curve to speak of. Whether or not I know it super well is beside the point--after a short time with it, I can use it productively and found it alongside the Flutter classes to be easier to get going with than Swift, Objective-C, Cordova, and even Rubymotion (Rubymotion is also pretty quick and friendly compared to the other options, but Dart/Flutter is a bit faster if you're a native mobile noob mainly because with Rubymotion you need to dig into the Apple APIs a bit, but with Flutter it's more abstracted).
Re:Flutter desktop shells by leppr on Thursday April 25, 2019 @01:23PM (#19750373)
> Dart feels like a better TypeScript

That's only if you use Typescript as a class-based OOP language. If you're more used to functional programming and prototypal inheritance, then Dart will bear no familiarity.

Due to its adherence to classical OOP, it feels way more like Java than Javascript.

As someone who never did any serious programing in those classical OOP languages, I struggled a lot to find the right abstractions to implement any kind of clean business logic. It was the first time I had to actually read up about "design patterns" and unironically consider writing factory factories.

It seems that due to Dart's rigidity and adherence to classical OOP, any library which needs to deviate from this paradigm has to hook into an additional build step (e.g. built_value for immutable types, has to use build_runner). That's an acceptable compromise for lib users, but adds a huge burden to actually writing those libraries, let alone incorporating those in your app's code.

Re:Flutter desktop shells by skybrian on Thursday April 25, 2019 @02:00PM (#19750822)
Yes, Dart is a fairly standard object-oriented language, but this exaggerates a bit. Dart has first-class functions (unlike Java) so you shouldn't need a factory-factory in the simple case. That's just a function that returns a function.

You might need other design patterns, though.

Re:Flutter desktop shells by SlowRobotAhead on Thursday April 25, 2019 @11:08AM (#19748954)
Ok, but to parent’s point... is it going to last? Is it yet another thing Google will abandon? Is it worth learning, because learning another language has a real cost imo. If Google walks at any point, does Flutter or Dart survive?

I’m with him, I want to like the idea, but I think the adoption has been slow and it doesn’t appear like it’s going to suddenly take off. I could be wrong, I just don’t see any successful indications yet.

Re:Flutter desktop shells by grayrest on Thursday April 25, 2019 @11:15AM (#19749021)
> is it going to last? Is it yet another thing Google will abandon?

It's apparently the primary language for Google Ads. As such, I expect it to be maintained as long as Google continues to sell ads and if they do move away from it you'll have plenty of warning.

Re:Flutter desktop shells by Reedx on Thursday April 25, 2019 @11:22AM (#19749093)
People keep saying that in Flutter threads, but it appears to be a small app for managing your ads? If it's just this, it wouldn't be hard to replace:

https://itunes.apple.com/us/app/google-ads/id1037457231?mt=8

https://play.google.com/store/apps/details?id=com.google.and...

Via https://flutter.dev/showcase

Re:Flutter desktop shells by skybrian on Thursday April 25, 2019 @11:36AM (#19749234)
Not just mobile. Dart (though not Flutter) is also used by the AdWords web app, which is quite enormous.

That said, Adwords used to be written in GWT. It's not impossible to migrate, but quite a big job.

Re:Flutter desktop shells by stephenr on Thursday April 25, 2019 @12:31PM (#19749785)
So, dart is safe until google moves onto the next thing it invents.

How’s GWT looking these days?

Re:Flutter desktop shells by Apocryphon on Thursday April 25, 2019 @12:37PM (#19749848)
It lasted for about eleven years which is not bad as far as frameworks go.
Re:Flutter desktop shells by SlowRobotAhead on Thursday April 25, 2019 @01:24PM (#19750384)
But this isn't a framework alone. It's a framework (flutter) and a language (dart). And at this point both are entirely dependent on each other, if I'm not mistaken.
Re:Flutter desktop shells by skybrian on Thursday April 25, 2019 @01:36PM (#19750536)
Looks like it occasionally gets an update, even though the GWT team moved on to j2cl.

https://gwt.googlesource.com/gwt/+log

Re:Flutter desktop shells by moocowtruck on Thursday April 25, 2019 @12:12PM (#19749597)
right but the money maker of adwords is not in dart at all, common lisp i think?
Re:Flutter desktop shells by skybrian on Thursday April 25, 2019 @01:49PM (#19750678)
I don't know what you mean? Google has many large ad customers who use the web UI to manage their campaigns.

Common Lisp was rarely used at Google when I was there, though it's a big company and you do see a little of everything, sometimes due to acquisitions. You might be thinking of ITA software, which is (was?) used for airline reservations.

Re:Flutter desktop shells by coldtea on Thursday April 25, 2019 @11:56AM (#19749444)
>It's apparently the primary language for Google Ads.

That's Dart, not Flutter.

And even so, Dart transpiles to JS for the Google Ads. They could switch to plain JS, or Typescript, or even move to a whole new implementation of Google Ads, and pull the plug.

They also used to use GWT, did that hold on?

Re:Flutter desktop shells by Apocryphon on Thursday April 25, 2019 @12:38PM (#19749854)
It did for nearly a dozen years.
Re:Flutter desktop shells by SlowRobotAhead on Thursday April 25, 2019 @06:04PM (#19752922)
Is that a good life for a programming language? It doesn't seem long compared to others.
Re:Flutter desktop shells by Apocryphon on Thursday April 25, 2019 @06:50PM (#19753254)
GWT lasted 11 years.
Re:Flutter desktop shells by rubber_duck on Thursday April 25, 2019 @11:15AM (#19749031)
I think it got enough adoption so far that it's not going away overnight and should be usable since people already published apps with it.

From my point of view learning Dart/Flutter isn't really a big investment so the downside of it getting abandoned soon is not as large as the payoff if it actually delivers - quality cross platform UI framework with great dev experience that I can use on my projects.

Re:Flutter desktop shells by pier25 on Thursday April 25, 2019 @11:34AM (#19749213)
AFAIK Flutter will be the primary SDK for writing apps in Fuchsia.

If this is true, and if the other rumors about Fuchsia replacing Android are also true, then I doubt Flutter and Dart are going anywhere.

Re:Flutter desktop shells by coldtea on Thursday April 25, 2019 @11:58AM (#19749462)
Except if Google gets bored with Fuchsia, like it has with tons of projects.

Heck, from what you say, it already got bored with Android -- if Fucshia is to replace it in say 2022, it means that Android just lasted around 15 years as a platform.

Re:Flutter desktop shells by japanoise on Thursday April 25, 2019 @12:39PM (#19749863)
15 years - so only four years less than MS-DOS ('81 - 2000) by which point it was considered hairy and terrible?

I'm no big fan of Google, but 15 years is plenty long enough. And really, Android is definitely struggling and showing its age by this point.

Re:Flutter desktop shells by Benjammer on Thursday April 25, 2019 @08:28PM (#19753810)
>Android is definitely struggling and showing its age by this point

I have the opposite viewpoint on this. I've worked on mobile the last 5 years or so, and dedicated native Android the last 2.5 years. The last year or two have been dramatic revolutions in the Android developer experience, from my perspective. Things like ConstraintLayout and full Kotlin support with ktx have opened up a new world for me compared to the state of the art several years ago.

Then you look at companies like Peloton using large form-factor Android devices in their core products, and Samsung DEx using Android as a seamless mobile<->desktop computer.

To me it seems like Android is just hitting it's stride. Who knows though, it's Google.

Re:Flutter desktop shells by bulldoa on Thursday April 25, 2019 @01:29PM (#19750449)
Out of curiosity, why is android struggling? What aspect of it needs improvement?
Re:Flutter desktop shells by cwyers on Thursday April 25, 2019 @02:33PM (#19751155)
There is no sense in which MS-DOS died in 2000.
Re:Flutter desktop shells by japanoise on Thursday April 25, 2019 @05:21PM (#19752626)
Wikipedia lists the last release of MS-DOS as version 8.0 in 2000, linking to the page for Windows ME.

This is what the comments above were alluding to, a "final release" before the project is abandoned. Installations still continue, in the same way there's probably places still doing the books on a C64, but it's no longer supported.

Re:Flutter desktop shells by coldtea on Thursday April 25, 2019 @02:38PM (#19751214)
I guess the parent means when (NT-Kernel based) Windows XP replaced Windows ME, which was the last version to run on top of MS-DOS (iirc).
Re:Flutter desktop shells by pier25 on Thursday April 25, 2019 @12:53PM (#19750039)
Android has plenty of issues and in the past 10-15 years Google has learned a lot from it and from Chrome OS.

I think it makes sense that it would go back to the drawing board and try to make something better from scratch.

Time will tell.

Re:Flutter desktop shells by pjmlp on Friday April 26, 2019 @03:08AM (#19755404)
Not at all, Fuchsia has evolved for a pluggable UI via Scenic.