Live data from Hacker News

Graphical User Interface Using Flutter in Embedded Systems [pdf]

static.sched.com

21–30 of 202 posts

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

#22
post #6

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…

Weston has better support for some things embedded developers care about, e.g. fallback codepaths for multi-plane buffer formats doing the blend in a shader, support for certain deprecated protocols (e.g. ivi-shell) and partial support for using hardware overlay planes for power-conscious compositing. It also doesn't have any of the Gnome dependencies. These are blanket statements; the devil is very often deep in the…

That makes a lot of sense, thanks for the insight!

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

#23
post #8

Too bad Android diverged too far from the rest of the Linux world and isn't using Wayland.

What is it using?

Its own compositing stack. SurfaceFlinger:

https://source.android.com/devices/graphics/surfaceflinger-w...

That's something I wish they'd replaced with Wayland these days for better affinity with the rest of Linux.

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

#24

Somewhat of an aside, since this article is about Flutter on embedded systems where React Native isn't even a consideration but... I've used both Flutter and React Native. Hands down, Flutter is the more enjoyable experience. Everything from the language, to the toolkit, to the IDE, to the final product, is just BETTER. React Native is a bloated, hacky, slow, garbage pile by comparison.

Took me a while to get on board with Flutter, only really started enjoying it after I gave it a few goes. Coming to Dart after Swift and Kotlin feels like a big downgrade but languages aren't that important, as you said the whole environment is so much more streamlined than Android dev. I'm using it for Android only however and keeping my existing iOS app in Swift.

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

#26
post #23

Earlier quoted context omitted.

What is it using?

Its own compositing stack. SurfaceFlinger: https://source.android.com/devices/graphics/surfaceflinger-w... That's something I wish they'd replaced with Wayland these days for better affinity with the rest of Linux.

> That's something I wish they'd replaced with Wayland

You might like GNU/Linux phones: Librem 5 and Pinephone.

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

#27
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 robust enough that this isn't a huge concern.
  - It was super easy to build for Android, iOS, and Mac all at the same time. Everything Just Worked (so far).
  - It was very performant
  - Very easy to add your own painting code if you wanted a custom component.
  - The debug view is so so useful for figuring out painting and layout issues.
Cons:

  - I didn't understand Futures very well (and honestly still don't); this might be an issue with people working with modern Python/JavaScript/whatever.
  - Because of the above, interacting with a database / JSON on disk felt a little contrived. In particular JSON parsing felt very non-obvious, even though it feels like at this point is should be a first-class feature.
  - It still produced relatively fat binaries, though not sure how much of that was debug/release mode.
  - My computer ran hot while running Flutter, though not sure how much of that is debug/release mode.
Overall I'm very very happy with it. It was the kind of project where when I had time to work on it, after work, I had a list of things I wanted to do, and I could quickly check off feature after feature instead of fighting the system. That made me add more desired features, etc., but very enjoyable.

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

#28
Honestly I don't get the appeal of Dart/Flutter for this use case for two major reasons:

1. Dart is garbage-collected; and

2. Dart has optional typing, which is to say it supports type hints but is essentially dynamically rather than statically typed.

This presentation claims low overhead so I'm open to be proven wrong here. I wonder how much of that (if true) is Flutter and how much is Wayland (over X). I'd really like to see some nontrivial apps in this, React Native, Qt, GTK and the like.

But GC isn't just about overhead (although that is a concern). It's about predictability of performance. It's about tuning the VM and the characteristics of STW GC pauses (if any).

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

#29

Somewhat of an aside, since this article is about Flutter on embedded systems where React Native isn't even a consideration but... I've used both Flutter and React Native. Hands down, Flutter is the more enjoyable experience. Everything from the language, to the toolkit, to the IDE, to the final product, is just BETTER. React Native is a bloated, hacky, slow, garbage pile by comparison.

Any tips for getting into Flutter? I've been working with React Native for over 2 years straight now, and I'm hesitant to move on from an ecosystem I know really well and a toolkit that finally feels comfortable.

But I also know React Native is hacky, slow, constantly has changes and breakages, sometimes stupid styling things are nearly impossible, etc. And if Flutter is as much better as people say, then I'd love to try it. Any plusses/minuses I should know before diving in?

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

#30

Somewhat of an aside, since this article is about Flutter on embedded systems where React Native isn't even a consideration but... I've used both Flutter and React Native. Hands down, Flutter is the more enjoyable experience. Everything from the language, to the toolkit, to the IDE, to the final product, is just BETTER. React Native is a bloated, hacky, slow, garbage pile by comparison.

I can't figure out flutter.

I see so many rave reviews.

But I personally tried it and strongly disliked it. The toolkit and Android Studio run horribly slow - like really slow. And the output is basically this generation's flash. Some of the samples I tried on their gallery are mediocre. Very slight, but noticeable sluggishness. Some are just terrible; the 2d transformations moves at like 7fps. Plus there are so many other small things like issues with scrollbars, things that take time to sort out that native and web have had time to figure out. Also dart is a real PITA coming from typescripts which is basically c#.

Actually, the issue with dart is it's own whole thing. It was meant to be an alternative to js, but not ts has taken over with much greater success. I am not talking about aot or stuff like that - just the dev experience for app dev. Now it's in this really weird spot.

I just don't know. I would honestly have thought that flutter is dead in the water - every personal experience I've had with it has been bad, there are objective facts about it that are bad, and yet so many people love it.

Post reply on HN