About this Series
If you haven't read the intro, I discuss a lot of the core information about this, I have included the Raw Stats in each of the blog posts so you can easily reference it while reading about each of the products.
Raw Stats
Platform | AppImage File Size | Hello Memory AppImage | Hello Memory Unbundled | Graphic AppImage | Graphic Unbundled |
Electron | 97 Megs | 203 | 129 | 401 | 316 |
NW.JS | 110 Megs | 274 | 163 | 515 | 389 |
Tauri | 71 Megs | 192 | 52 | 364 | 301 |
NodeGui | 47 Megs | 437 | 53 | 760 | 467 |
Yue | 19 Megs | 59 | 43 | 302 | 292 |
Node-GTK | 100 Megs | 85 | 70 | 90 | 89 |
Flutter | 70 Megs | 124 | 53 | 337 | 321 |
Flutter
Flutter is the odd man out, I'm not going to go much into this one as it isn't JavaScript or HTML. But it is a complete compiled cross platform app development system and it provided a interesting base-line to compare the rest of the projects too.
I was extremely surprised by the memory usage on Flutter. I really expected it to decimate the rest of the pack. However, even its hello world is identical to NodeGui and Tauri slightly beats it. When you actually use a chunk of graphics, even Electron had a better memory usage. This really goes to show you that just because the app is compiled and controls everything doesn't mean it will do much or any better than a pure WebView based application.
With Kracken, in the near future it could be a viable method to deliver HTML/JS based apps to multiple systems. However, with it eating memory on complex apps as much as a WebView does it begs to wonder if it is worth it. It will be very interesting to see how well Kracken does in the future and do some actual benchmarks using it.
Summary
I've never been a fan of Flutter for mobile. I've developed several apps for clients using it. And I know both its strengths and weaknesses on the mobile side. I personally would not develop any mobile applications of my own using Flutter do to several underlying design flaws. For the web, I feel like Google just had to try and reinvent "Flash". So welcome to our brand new and totally awesome Flash v0.20...
However, with that said, I can't fault any other developers for there usage of Flutter. It has some of the BEST developer tools I've ever seen or ever used. Now with Linux, Mac and Windows support it does beg me to take a serious look at using it for actual desktop apps.