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.