The flutter language and ecosystem is interesting and is actually built on many generation of giants. However from my position it seems more like lazy rather than pragmatic. “We” are in a very different world right now and flutter is not really going to fix it.
For years managers have been wanting a unified programming language so that [a] client interface programmers and [b] server and service programmers; could be interchangeable. Sure there were some minor successes when nodejs was released and made it mainstream. In fact there are still a number of meaningful applications but that’s another story.
Where we are is management has nothing but contempt for the rockstar programmer and the wanna-be rockstar programmers. Management sees us as simple labor. Of course management is not alone as there are many other pressures. Take a look at any org chart and the rank and file programmer is typically at the bottom. From time to time a company has a technical track however these individuals never have the same influence that program managers, designers, and worse yet professional staff that are invested in Six Sigma or Agile.
So I’m a little off track here so lets get redirected…
If you ever used Turbo Pascal then you know what a pragmatic language and toolkit looks like. Turbo Pascal was a subset of the official pascal; it was nicely integrated with DOS, super fast to compile, the executables it produced were also speedy. Back in the days of DOS these programs could be desktop applications or TSRs. Later TP became a Windows development environment by incorporating the Windows API which Microsoft eventually polluted. The takeaway is that the tools worked and we got work done.
Flutter builds on a sidecar promise of java. While it is possible to build/cross compile for different processors it actually adds on the model by supporting iOS, Android and Web. And with that we inherit a complicated IDE and build system. After years of IDEs like Visual Studio and IntelliJ have we not learned anything? Heck, just look at the auto tools for building gcc apps on Linux. For that mater look at the latest build tools for golang. This does not have to be so f*cking complicated.