Live data from Hacker News

Flutter: UI platform designed for ambient computing

developers.googleblog.com

51–60 of 74 posts

Re: Flutter: UI platform designed for ambient computing

#51
post #33

Am I the only one who sees all these Electrons, React Natives, Flutters, etc. as mostly middle-management-pleasing technologies made for crunching cookie-cutter apps with the least amount of outsourced developers as possible? Whenever I see Slack, Spotify, VS Code, or any other "universal" app, it always strikes me as a completely out of place it looks and behaves, no matter what OS it's running on. Yes, it's relativ…

Using Flutter has been extremely helpful for us in a startup environment, getting apps built for both iOS and Android in half the time (or less) compared to doing both. Our team has plenty of native mobile experience and has built separate native apps that mirror functionality in the past.

Flutter was so much more efficient, it actually lives up to the promise of write-once, build to multiple platforms.

As for design, we have a very custom design and in Flutter you are in no way locked into Material design.

Re: Flutter: UI platform designed for ambient computing

#52
post #14

Earlier quoted context omitted.

It's not called out in this blog post, but back at Google I/O earlier this year, they did say Fuchsia is powering the Nest Hub and Nest Hub Max. So those smart displays Google is making are Fuchsia + Flutter.

Actually, both Nest Hubs run on the Chromecast-platform, not on Fuchsia[1]. However their UI is actually made with Flutter[2]. However, both devices (as Sherlock and Astro respectively) exist in the Fuchsia repo and so it's safe to assume that they're developing Fuchsia on them and since Flutter is multi-platform they can replace the OS underneath via software update, if they chose to. [1] https://www.reddit.com/r/Fu…

Ahh, good to know, thanks!

Re: Flutter: UI platform designed for ambient computing

#53

Ugh, another Flutter media campaign. Why would you ever learn a Google language and use a Google framework, especially a framework that has to emulate all other platform UIs. How long until it's shut down?

We don't really "emulate" the UI on Android, FWIW. We have one of several implementations of Material design, another of which is designed for the Android View hierarchy, another is designed for JS on the Web, and so on. In some respects Flutter's implementation is actually ahead of the others, so if anything, they're "emulating" us. :-)

Re: Flutter: UI platform designed for ambient computing

#54
post #20

What are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc? How advanced is the typing system, are we talking Java level or signi…

I've used both recently, deciding between them. Dart is better.

* Typescript is much more popular, and integrates with other Javascript things better. There are way more libraries available for Typescript.

* Typescript has proper support for non-null types, whereas in Dart everything is nullable (though they are fixing it, as announced here).

* Typescript has pretty nice support for anonymous sum types (i.e. `number | string`).

However:

* Typescript doesn't actually fix any of the insanity of Javascript - it just describes it. So you can still do insane things like using `var` or `==`. In Dart all of that nonsense has been removed.

* Typescript has `interface` and `class` which is needlessly confusing (it has no choice because Javascript).

* It's way too easy to give up on typing in Typescript. It has a setting "no implicit `any`" but it doesn't seem to be comprehensive. You can do still stuff like just omitting the return type of functions and then they instantly lose all type information. In Dart you have to explicitly opt in to `dynamic`.

* Because types are added to Javascript libraries (via DefinitelyTyped), there's nothing that really checks that they are correct and very often they are just wrong. It's pretty annoying to fix when that happens and even harder to know what the correct fix is because obviously the underlying Javascript library has no types! You basically have to ask the authors what they meant.

* A lot of libraries aren't fully typed. For example Vue has very minimal typing - lots of things are just strings. As a concrete example, AngularDart gives you compile errors if the types in your HTML template are incorrect. With Vue they are runtime errors.

* The Dart VSCode extension is literally amazing. It gives you perfect errors and completion and it does it instantly. Nothing else I've used comes close.

When I first started using Typescript I was kind of under the impression that it was a better language built on top of Javascript. That's not really the case - it's still Javascript, it's just a slightly less insane way of using Javascript.

Dart, on the other hand is a better language.

Re: Flutter: UI platform designed for ambient computing

#55
post #5

Not sure if it is counter-intuitive, but I was deciding between React Native and Flutter for a project and this announcement nudged me to decide on React Native. I am pretty sure I just want my app to run on Android, iOS, and web. If Flutter's vision is making it possible to also design to TVs, smartwatches, thermostats, doorbells, fridges, etc it means that there will be trade-offs, added complexity, overhead, desig…

(Flutter TL here)

FWIW, one of our driving values is to specifically _not_ compromise in this way. We actively avoid having a "lowest common denominator" approach. I learnt about the risks of such an approach when I was the HTML spec editor. It's one of the reasons that we have been only adding new platforms very carefully, and it's why we've been focusing so much on mobile first. The vast majority of the team is focused on mobile, with a small team on Web and an even smaller team (1-4 people depending on how you count it) working on desktop.

Re: Flutter: UI platform designed for ambient computing

#56

Wow, talk about burying the lede. I'm not sure how I feel about Google's so-called "ambient computing" idea that they were all about at this year's Google I/O, but Flutter being championed for desktop and web are huge! Does this mean the end of Electron, finally? They say it runs on macOS, I hope they get to Windows and Linux soon. I built a little Android/iOS app in Flutter and it was a real delight. I didn't especi…

> Does this mean the end of Electron, finally?

If it's a much smaller footprint, memory and CPU wise, it could be. Also depends on how easy it is to learn the language/framework and how easy it is to deploy to multiple platforms. That lack of friction is what makes Electron so devilishly popular.

Re: Flutter: UI platform designed for ambient computing

#57
post #20

What are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc? How advanced is the typing system, are we talking Java level or signi…

Dart always seems to lag behind TypeScript, for example a lot of the built-in functions return dynamic type because they don't have utility types yet.

Personally I'm frustrated Google is investing so much in Dart/Java platform while Rust is far more promising but has a small fraction of manpower dedicated to it.

Re: Flutter: UI platform designed for ambient computing

#58

Bizarre reading the vision for this "ambient computing" platform given that the web platform has already been doing that for years and you could imagine the Chrome team using nearly identical terms to describe what their mission is.

Sure, but the web is never going to be a great platform for apps on mobile or embedded devices.

You'd be surprised how many popular and widely used mobile apps run a significant portion of their experience with web tech. Depending on who you ask it is a great platform for mobile apps (not that it can't be improved of course!)

Re: Flutter: UI platform designed for ambient computing

#59

Bizarre reading the vision for this "ambient computing" platform given that the web platform has already been doing that for years and you could imagine the Chrome team using nearly identical terms to describe what their mission is.

Sure, but the web is never going to be a great platform for apps on mobile or embedded devices.

While I agree that overall native apps are a better experience, and strive for using them, many apps on the store are perfectly doable as PWAs.

Just like many games that people play on the train, which are yet another variation of matching stuff, are easily doable with WebGL.

Re: Flutter: UI platform designed for ambient computing

#60
post #20

What are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc? How advanced is the typing system, are we talking Java level or signi…

Dart always seems to lag behind TypeScript, for example a lot of the built-in functions return dynamic type because they don't have utility types yet. Personally I'm frustrated Google is investing so much in Dart/Java platform while Rust is far more promising but has a small fraction of manpower dedicated to it.

Cough, Dart/Kotlin.
Post reply on HN