Well I retried flutter.

I realized it’s open source, so I downloaded its source.

First I want to use MinGW. I find it’s source for Visual Studio. I changed but it didn’t work.

I inspected the script.

Start script is using cryptic bat. So I spend a fair amount time rewrite it using PowerShell: https://github.com/flutter/flutter/compare/master...soda92:flutter-fork:pwsh-script

Then I realized there are some timestamp thing. I deleted them and it recompiles.

But then I find that there is a flutter engine. It’s prebuilt using VS. rebuild it would be much pain.

So I installed VS build tool. I think it’s free for open source dependencies.

Apparently I find some qml binding for rust. It’s developed by woboq, no c++ involved, very good. and it’s has been existed for six years.

Then I re-installed rust. I get some problem switching between gnu/msvc and getting qmake.

Finally I get it work under mingw. That was good too.

https://github.com/soda92/rust-qml-demo

Also woboq is hosting codebrowser for flutter now: https://github.com/KDAB/codebrowser

After get flutter running I find it didn’t even have window frame. I used a custom plugin. and dark mode: https://www.dhiwise.com/post/the-definitive-guide-to-implementing-flutter-dark-mode. some null safety get in my way.

final repo here: https://github.com/soda92/flutter-windows-demo. built zip around 7mb.

So the GUI thing was resolved for now. For legacy C++ we can use Rust/Qml. For modern Windows/Android we can use Flutter.

Of course we are using Web framework for web. I installed nodejs, but I’m a bit unsure how to get a clean start.

An idea would be using deno. But I’m still learning basics.