There is of course some hiccups but with no major obstacle.
- DNS is broken (because Google wants to have its own version of the internet).
- TLS is broken (for the same reason as above).
- Layout is limited (far too much, in comparison to web).
- Keyboard interaction is (practically) barebones.
- State management is (practically) one-style only.
TBH, that last point applies to nearly all of Flutter. You get a strong feeling that the only way to do anything is the Google-blessed method and nothing else. If you need anything done differently, just don't.
Can you expand on how exactly it "entirely broken"? I use it two years in production apps, and it's been amazing. The look and feel is pixel-to-pixel perfect to the native apps and slightly different from the "native browser", but it doesn't matter to users.
> DNS is broken, TLS is broken
))) right. IP is broken too )
> Layout is limited (far too much, in comparison to web).
Flutter not just designed to give you full control over layouts and its constraints in an efficient way (so widgets don't get rerendered or sizes don't get recalculated redundantly), it has custom painters and shaders and let you create completely custom layouts, including high-fps games. How is this more limited then DOM and "<a href target="_blank">" legacy?
> Keyboard interaction is (practically) barebones.
What's missing?
> State management is (practically) one-style only.
At this point I have a strong suspicion that you're trolling. State management in Flutter is a notoriously overpopulated field, with a whole zoo of officially endorsed approaches (for different cases and/or app sizes). Actually, if you would mention this as a main argument (no one-style state management) – I would agree with your point.