Live data from Hacker News

Graphical User Interface Using Flutter in Embedded Systems [pdf]

static.sched.com

191–200 of 202 posts

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#191
post #66

Earlier quoted context omitted.

> And embedded is usually dog slow processor running at minimum clock, to save power. It used to be like this for a long time, but nowadays the market is moving towards stronger embedded CPUs, either just because they are affordable (raspberry pi), or the power is actually wanted for something (e.g. nvidia jetson for video processing and AI)

Yes I mean I just did some quick price research and I (as a private person) can buy a Quad core Cortex-A53 for just 5.20$... And a Raspbery PI Zero (no WLAN) for 12€.

Regardless, if a lesser module for $4.50 will squeak by, then that's what the designer should specify. And the programmer will make do.

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#192
post #145

Earlier quoted context omitted.

Flutter's Wayland support is used by Google for a consumer product with millions of users. (source: I work for Google.)

Does that mass-market consumer product have proper accessibility support, e.g. for blind users? If so, is that somehow implemented within the Flutter UI, or parallel to it (e.g. as a separate voice interface)?

I think the parent comment was talking about Nest Hubs / Google Homes, which are arguably voice first via the Google Assistant. I can only imagine but if I had, much more significant, vision issues then I think I'd use it even more.

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#193
post #19

Great presentation. Also, really not surprising at all. Anyone that has tried getting a sample Flutter app running on a desktop will quickly find that it's shockingly easy and on almost all platforms will "just work" despite being in Alpha. The development experience in Flutter is great too. Anything that can help with that when developing for embedded systems is likely very tempting. I am curious why they went with…

I wouldn't say its shockingly easy to get a desktop app running. Its buried under a tag and sometimes doesn't compile on Windows. Unless something recently has changed.

I tried it recently on Linux, it was just a matter of:

  flutter channel dev
  flutter upgrade
  flutter config --enable-linux-desktop
The app then built without issue, and executed fine... except for a rather annoying bug: nothing was painted in the window until I resized it.

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#194

I also, independently, started writing an app in Flutter for fun (no experience in mobile/desktop GUI work, several years since I've worked in front-end web). I can give a list of pros/cons that probably overlaps what you've heard: Pros: - The toolkit feels fairly mature and not too hard to parse. I think there's a lot of "this class works with defaults and breaks otherwise" feeling, though the core components are ro…

I would add a few cons to the list (I agree with all the pros): - Testing can still be improved in my opinion, there's no mutation testing yet and it's still pretty verbose. If you are coming from the JS world, that's clearly superior, if you are coming from the Ruby world however, you will be disappointed a little bit on that level. - I really don't like the navigation system, it's pretty hard to know the current ro…

Regarding the navigation system, they recently introduced a new API that probably addresses your issue: https://medium.com/flutter/learning-flutters-new-navigation-... .

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#195

Earlier quoted context omitted.

My experience is not this. I've never seen an embedded app with GC. And embedded is usually dog slow processor running at minimum clock, to save power. So pauses are 10X or more the issue re: desktop.

"Embedded" means different things to different people. Back when I was a game developer at EA, Madden and many other sports console games all shipped using Flash (!) interpreters with full GC. These were games running on PS2, NGC, XBox, etc.

Sure it does. But if its possible to choose a cheaper hardware chipset and not do GC then that's likely the correct choice. Or the designer has made a mistake (BOM cost higher than it needs to be).

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#196

Earlier quoted context omitted.

Mine too. It does gradual typing better than any other language I've tried.

I think this means sometimes static sometimes dynamic. but can you explain some use cases for this? I am strongly in favor of static, coming from C.

A perfect static type checker would distinguish between valid and invalid programs in all cases. In practice, static type checkers are conservative and occasionally reject valid programs. Gradual typing gives you a way out in these situations -- just like how macros in C can provide type-generic functionality.

A sufficiently rich type system (with tuples, union types, traits, generics, higher-kinded types, etc) can lessen the need for a dynamic escape hatch. In the end though, the occasional use of dynamic typing can be easier to reason about.

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#197
post #19

Earlier quoted context omitted.

I wouldn't say its shockingly easy to get a desktop app running. Its buried under a tag and sometimes doesn't compile on Windows. Unless something recently has changed.

I tried it recently on Linux, it was just a matter of: flutter channel dev flutter upgrade flutter config --enable-linux-desktop The app then built without issue, and executed fine... except for a rather annoying bug: nothing was painted in the window until I resized it.

sometimes you may need to recrate the "linux" folder - either by "flutter create ." or "rm -rf linux", "flutter create ." (same for other folders, like "web", "windows", etc.) - ideally there should not be code there that can't be auto-generated (but not always)

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#198

Earlier quoted context omitted.

Fellow contrarian here. Is this a good business decision? The slide deck could have just said "We don't want to pay $10/unit for a Qt license" and saved us all the time. If you have half a gig of SDRAM and a playstation-class CPU, awesome. A lot of us don't. What if Google decides to give up maintenance of Flutter to the community and use an internal, better fork? I will never touch another Google-generated embedded…

> The slide deck could have just said "We don't want to pay $10/unit for a Qt license" Qt has it's share of problems too. And someone is free to decide against depending on an oracle-like company. > If you have half a gig of SDRAM and a playstation-class CPU, awesome. Flutter is AOT compiled in release mode and is pretty efficient.

AOT maybe slower in certain cases. This topic discusses it - https://github.com/dart-lang/sdk/issues/39367 (it's not relevant only to dart, but other languages/runtimes like it too)

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#199
post #182

Earlier quoted context omitted.

I really like C# and .Net for getting the job done but Balzor runs Mono .Net in Wasm and the startup time is brutal for the public internet. 2 to 3 seconds. This leads me to believe Blazor is targeted at corporate intranets on high speed networks where you have a ready supply of C# programmers

That is a temporary solution, AOT with CoreRT will be done by .NET 6 (postponed from 5 due to Corona impact on development).

That's good to hear. Thanks.

Re: Graphical User Interface Using Flutter in Embedded Systems [pdf]

#200

Earlier quoted context omitted.

"Embedded" means different things to different people. Back when I was a game developer at EA, Madden and many other sports console games all shipped using Flash (!) interpreters with full GC. These were games running on PS2, NGC, XBox, etc.

Sure it does. But if its possible to choose a cheaper hardware chipset and not do GC then that's likely the correct choice. Or the designer has made a mistake (BOM cost higher than it needs to be).

Is it always a mistake for the BOM cost to be higher than it hypothetically could be? Can't a designer reasonably trade off some BOM cost for other things such as development cost?
Post reply on HN