TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Graphical User Interface Using Flutter in Embedded Systems [pdf]

378 点作者 timsneath超过 4 年前

35 条评论

ZeroCool2u超过 4 年前
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&#x27;s shockingly easy and on almost all platforms will &quot;just work&quot; 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.<p>I am curious why they went with Weston as their Wayland compositor as opposed to Mutter, if only because it seems to be the most popular due to Gnome. I&#x27;m not familiar enough with the trade-offs between the two. Anyone care to theorize why?
评论 #24921983 未加载
评论 #24925485 未加载
评论 #24922269 未加载
singhrac超过 4 年前
I also, independently, started writing an app in Flutter for fun (no experience in mobile&#x2F;desktop GUI work, several years since I&#x27;ve worked in front-end web). I can give a list of pros&#x2F;cons that probably overlaps what you&#x27;ve heard:<p>Pros:<p><pre><code> - The toolkit feels fairly mature and not too hard to parse. I think there&#x27;s a lot of &quot;this class works with defaults and breaks otherwise&quot; feeling, though the core components are robust enough that this isn&#x27;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. </code></pre> Cons:<p><pre><code> - I didn&#x27;t understand Futures very well (and honestly still don&#x27;t); this might be an issue with people working with modern Python&#x2F;JavaScript&#x2F;whatever. - Because of the above, interacting with a database &#x2F; 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&#x2F;release mode. - My computer ran hot while running Flutter, though not sure how much of that is debug&#x2F;release mode. </code></pre> Overall I&#x27;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.
评论 #24925195 未加载
评论 #24926367 未加载
评论 #24923675 未加载
评论 #24925509 未加载
评论 #24929789 未加载
评论 #24922810 未加载
Const-me超过 4 年前
Embedded doesn’t need wayland nor X.org. These two things implement desktop managers. Why would you run a desktop manager on a computer that runs one program only?<p>For embedded, drm&#x2F;kms is IMO better level of abstraction to base on. It only takes couple pages of code to get yourself a full-screen DRM-backed EGL context. I did it a few times for various Linuxes using Broadcom and Mali GPUs.<p>I’ve evaluated Flutter couple years back, chose not to. I picked NanoVG (later on I’ve patched it a bit improving fonts <a href="https:&#x2F;&#x2F;github.com&#x2F;Const-me&#x2F;nanovg" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Const-me&#x2F;nanovg</a> ), compiled a shared library, consumed from .NET Core, and implemented a GUI in C#, with animated transitions and such. Both me and my client were happy with the outcome.<p>Here’s why I was reluctant to choose Flutter.<p>1. New programming language with Flutter being the only use case. The language looks nice by itself. However, this means no library ecosystem, and non-trivial chances to waste lots of time working around bugs in language, compiler and runtime.<p>2. I don’t like Skia underneath, too much legacy and overall CPU-centric design. Marketing materials tells how they using GL and Vulkan for performance. Source code tells opposite story, they’re doing a lot of graphics on CPU. Unless the stuff is already implemented by some knowledgeable people outside ad. tech, e.g. MS Direct2D or nVidia’s NV_path_rendering. To be fair, Skia appears to be able to consume either of them, but none was available for my Linux target.
评论 #24924785 未加载
评论 #24926418 未加载
zachruss92超过 4 年前
I think as Flutter matures it will change the game for native development. I&#x27;m building an app now for a well known startup and are converting their native codebases to Flutter. What is interesting is that I was able to compile the app to web with no extra work and now use that as an easy way to demo things to my client. From a cross-platform perspective that changes the game for me along with being able to build desktop apps easily and relatively efficiently (compared to Electron).
评论 #24923949 未加载
评论 #24928000 未加载
izacus超过 4 年前
One of the main bonuses of Flutter is also its underlying design - it really just needs a Canvas to render to and not much else. This makes it easy to port to other platforms (even web) and it allows you to have a very lightweight embedded system running a builtin app. This makes debugging easier as well, since you can just write the app on desktop, test in emulators and then deploy.<p>Our experience matches Sonys in that it works very well for embedded devices.
评论 #24925457 未加载
offtop5超过 4 年前
Dart is easily my favorite programing language.<p>It&#x27;s the best parts of C# plus real dynamics. The Flutter ecosystem is already above and ahead of React Native , a big part of it is it doesn&#x27;t have the baggage of npm, Babel and JavaScript.<p>For a friend&#x27;s side project I&#x27;ve been using Flutter Web and I couldn&#x27;t be happier with it
评论 #24922163 未加载
评论 #24922279 未加载
评论 #24922068 未加载
评论 #24922192 未加载
评论 #24922261 未加载
评论 #24925804 未加载
评论 #24927188 未加载
评论 #24922726 未加载
Memosyne超过 4 年前
I&#x27;ll be the contrarian: Is this a good business decision?<p>Sony has recently stated that it wants to enter the automotive industry but Google is a direct competitor with Waymo and their Nest product has a pretty firm standing in the smart home appliance environment. Is it wise to basically become dependent on a large competitor for such an integral component of your next generation products? What if Google decides to give up maintenance of Flutter to the community and use an internal, better fork? I guess it&#x27;s the same thing with Microsoft using Chromium to implement Edge and how we&#x27;re converging towards a complete Google monopoly.<p>I was an early adopter and proponent of Flutter but that&#x27;s just not the case anymore. The ecosystem has become inundated by what you might get if you forced copulation between the JS and Android ecosystems. There&#x27;s a ton of low-substance spam articles, excessive usage of libraries reminiscent of NPM-madness, and just a general obnoxious colorful-emoji-fueled atmosphere. I don&#x27;t want to be misinterpreted: there are plenty of good Flutter developers and the core engineering team is certainly brilliant. But they&#x27;re largely overshadowed by a community who continues to drive a good technology into being associated with bloat, poor security, and puerility.
评论 #24922904 未加载
评论 #24924129 未加载
评论 #24923265 未加载
评论 #24927339 未加载
louiechristie超过 4 年前
I&#x27;m surprised React Native didn&#x27;t get a mention on page 9?<p>React Native works on Sony PS4 using youi.tv: <a href="https:&#x2F;&#x2F;www.youi.tv&#x2F;build-for-ps4-using-react-native-and-you-i-engine-one&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.youi.tv&#x2F;build-for-ps4-using-react-native-and-you...</a><p>React Native works on Ubuntu: <a href="https:&#x2F;&#x2F;github.com&#x2F;CanonicalLtd&#x2F;react-native" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;CanonicalLtd&#x2F;react-native</a><p>React Native works on Linux via Electron <a href="https:&#x2F;&#x2F;dev.to&#x2F;evanbacon&#x2F;making-desktop-apps-with-electron-react-native-and-expo-5e36" rel="nofollow">https:&#x2F;&#x2F;dev.to&#x2F;evanbacon&#x2F;making-desktop-apps-with-electron-r...</a><p>Not strictly speaking aimed at embedded systems but you&#x27;d think React Native would deserve at least a consideration?
评论 #24924400 未加载
rubicon33超过 4 年前
Somewhat of an aside, since this article is about Flutter on embedded systems where React Native isn&#x27;t even a consideration but...<p>I&#x27;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.<p>React Native is a bloated, hacky, slow, garbage pile by comparison.
评论 #24922631 未加载
评论 #24924109 未加载
评论 #24922334 未加载
评论 #24922777 未加载
评论 #24922577 未加载
TheMagicHorsey超过 4 年前
Currently working on a product in Flutter. I can tell you, it is extremely productive and easily learned when compared to React Native for mobile applications (when you consider programmers who don&#x27;t already have React web experience). For your typical computer science student it just makes more sense than Javascript (web-based) GUI systems.<p>When you think about it, the way the Web does GUIs is pretty ass backward.
andrewmd5超过 4 年前
We were early adopters of Flutter at Rainway[1] and absolutely love it. We even recently ported it to Apple TV.<p>1: <a href="https:&#x2F;&#x2F;rainway.com&#x2F;blog&#x2F;2019&#x2F;08&#x2F;06&#x2F;flutter&#x2F;" rel="nofollow">https:&#x2F;&#x2F;rainway.com&#x2F;blog&#x2F;2019&#x2F;08&#x2F;06&#x2F;flutter&#x2F;</a>
anderspitman超过 4 年前
I really enjoyed writing flutter code when I played with it. Google seems to be backing it strongly and they have lots of great learning videos.<p>If it ever gets a strong set of cross-platform libraries for doing things like file system access, it&#x27;s going to be huge. But I&#x27;m not even sure that&#x27;s possible with how locked down the mobile OSes are these days.
newbie578超过 4 年前
Flutter is awesome! I truly believe it is a game changer for startups pushing an MVP as fast as possible.<p>One codebase to build apps on iOS, Android and for the web (as soon as they improve the web one to the release version) is great, and Flutter is fun to use.<p>The drawback could be the many states of management... But that is not a deal breaker
评论 #24923161 未加载
jeffbee超过 4 年前
“Embedded” system needs only four cores and half a gigabyte to run trivial demo app. Progress?
评论 #24923794 未加载
c-smile超过 4 年前
Just in case, I&#x27;ve published yesterday demo build of Sciter.JS that also has binaries for Raspberry Pi (ARM32).<p>See: <a href="https:&#x2F;&#x2F;github.com&#x2F;c-smile&#x2F;sciter-js-sdk" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;c-smile&#x2F;sciter-js-sdk</a> (screenshots are there too)<p>Some stats:<p>Binary size : 3.7 Mb (RPI version)<p>HTML: HTML5 level of markup language + &quot;HTML Window&quot; extensions, see: <a href="https:&#x2F;&#x2F;sciter.com&#x2F;html-window&#x2F;" rel="nofollow">https:&#x2F;&#x2F;sciter.com&#x2F;html-window&#x2F;</a><p>CSS 2.1 + selected modules of CSS3, see: <a href="https:&#x2F;&#x2F;sciter.com&#x2F;docs&#x2F;content&#x2F;css&#x2F;cssmap.html" rel="nofollow">https:&#x2F;&#x2F;sciter.com&#x2F;docs&#x2F;content&#x2F;css&#x2F;cssmap.html</a><p>JavaScript: full ES6 specification + extras like built-in JSX, see: <a href="https:&#x2F;&#x2F;github.com&#x2F;c-smile&#x2F;quickjspp" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;c-smile&#x2F;quickjspp</a><p>Again, Sciter.JS uses time proven and well known technologies in a fraction of size.
评论 #24924630 未加载
评论 #24924599 未加载
nsm超过 4 年前
What is the advantage of this over the more popular embedded solution which is AFAICT Qt? It was quickly glossed over in the slides without any explanation.<p>I guess one is Dart is a safer language than C++.
评论 #24924767 未加载
pengaru超过 4 年前
We need source for that GTK+ example used to imply GTK+ is broken on Wayland.<p>It could very well be PEBKAC, client-side decorations make being coordinate system aware much more important. If your code assumes everything&#x27;s in drawable coordinates, it&#x27;ll work in a top-level window on X11, but may break when Wayland w&#x2F;CSD shifts things.<p>That slide is potentially quite damaging to GTK+&#x27;s reputation, to not even provide a way for us to independently verify the results is frustrating.
评论 #24923460 未加载
ludwigvan超过 4 年前
Corrected headline: An employee at Sony says Flutter and Wayland is the best practice in embedded systems using Linux.
phendrenad2超过 4 年前
I love this - Flutter seems like the ideal (for embedded UIs, like automobiles and household appliances). The rich UI capability of a web-based platform without running an actual browser. As far as I can tell, the only major dependency is Dart.
hcal超过 4 年前
So far I&#x27;ve only been able to find Flutter on Linux with ARM cpus as an initial proof of concept project someone did specifically on a raspberry pi. Is there now an official path for full Linux flutter support on ARM? I&#x27;m learning Flutter now and would love to start writing some useful apps for my Pinephone and Pinebook.<p>On an x86 Linux desktop, Flutter apps can run pretty well and very fast. I hope that holds true on embedded&#x2F;mobile.
评论 #24924916 未加载
srameshc超过 4 年前
I have used React Native and now using Flutter. It&#x27;s a bit of learning again , but I am not going back to RN since Flutter is far better.
cletus超过 4 年前
Honestly I don&#x27;t get the appeal of Dart&#x2F;Flutter for this use case for two major reasons:<p>1. Dart is garbage-collected; and<p>2. Dart has optional typing, which is to say it supports type hints but is essentially dynamically rather than statically typed.<p>This presentation claims low overhead so I&#x27;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&#x27;d really like to see some nontrivial apps in this, React Native, Qt, GTK and the like.<p>But GC isn&#x27;t just about overhead (although that is a concern). It&#x27;s about predictability of performance. It&#x27;s about tuning the VM and the characteristics of STW GC pauses (if any).
评论 #24923287 未加载
评论 #24922861 未加载
评论 #24923313 未加载
评论 #24922755 未加载
评论 #24927846 未加载
stefan_超过 4 年前
Not sure why they are even still using Wayland; if all you want to do is display a full-screen EGL surface, you are better off just talking to libEGL and the kernel atomic DRM yourself.
api超过 4 年前
Does Flutter support accessibility extensions on popular platforms?<p>This question is usually the end of my evaluation of most UI toolkits for serious professional work.
评论 #24925809 未加载
throw_m239339超过 4 年前
Genuine question, why is GUI development so hard?
评论 #24925328 未加载
DerDangDerDang超过 4 年前
Flutter looks great, and I seriously considered it for my next project. In the end I decided the possibility of Google getting bored and ending support was enough to tip me to using Qt Quick instead - even though I kinda dislike Qt and js, and will have to pay for it.
评论 #24922872 未加载
cbsmith超过 4 年前
I always like the notion of &quot;it&#x27;s lighter weight and has fewer dependencies... but it doesn&#x27;t work right&quot;. ;-)<p>It&#x27;ll be interesting to see how much Wayland can remain lighter weight once it has accounted for all the &quot;not working right&quot; cases.
评论 #24922870 未加载
moralsupply超过 4 年前
Sony knows that XORG is dead...
blinkingled超过 4 年前
So for some reason they can&#x27;t just use Android as the base OS &#x2F;Display Manager and use Flutter for Android so now they have to use X11 or Wayland? They may have their reasons but I skimmed over the PDF and it doesn&#x27;t address why.
评论 #24923591 未加载
coob超过 4 年前
Any of the old iPod Linux guys still working at Sony on this?
amelius超过 4 年前
But how hard is it to port Dart to a new architecture?
Kilonzus超过 4 年前
Is there a link to his actual talk?
shmerl超过 4 年前
Too bad Android diverged too far from the rest of the Linux world and isn&#x27;t using Wayland.
评论 #24922103 未加载
评论 #24924215 未加载
评论 #24922845 未加载
评论 #24922289 未加载
hapless超过 4 年前
Living proof there&#x27;s at least one (1) flutter user outside Google
评论 #24928516 未加载
marta_morena_28超过 4 年前
Flutter, or in other words: Will Google abandon this product before or after my company managed to migrate to it?