The holy grail of computer languages is to write code once and have it deploy effortlessly everywhere. Java likes to take credit for the idea, but UCSD P-Code was way before that and you could argue that mainframes had I/O abstraction like Fortran unit numbers even earlier. More modern efforts include Qt, GTK, and other things. Naturally, all of these fall short in some way. Now Google enters the fray with Flutter.
Flutter uses Dart and support for the Mac and Windows is considered alpha quality. If you know any traditional language like C++ or Python, you won’t have any trouble with Dart.
If you want to read about someone’s experience deploying something substantial with Flutter, here’s a full-blown app with a very detailed report. Will Google get it right? Certainly, they are big enough that they should. However, as anyone who has tried to deploy across platforms will tell you, it is much easier to solve the big problems than the little ones. You usually die from a thousand paper cuts on cross-platform projects, not from a single sword stroke.
Google says they want Flutter to target embedded devices, too. We are pretty sure they mean embedded in the sense of fairly powerful processors with a UI and an Internet connection. But maybe we’ll see other platforms in the future. After all, we’ve seen plenty of stripped-down Java virtual machines with the same goal. We’ve even dug into the intricacies of cross-platform programming, ourselves.