Experience report: Impossible to write any serious complex application in this. Lacks components for basic things everyone gets for free on other platforms, things like video, maps or rich text components. Nor does if offer any clear easy path to add them yourself. Breaking API changes every few months. No way to theme something. Immediate mode graphics are great until you need to start managing some complex state, then you are forced to implement your own retainer mode graphics. Again it reintroduces problems that have been solved a long time ago. Very fancy renderer based on piet-gpu that only takes control points of a bezier curve as input and tessellates everything from that. Cool concept, but try drawing a real circle with that, and some some approximation with 4 bezier curves. Wasm is not more then a proof of concept that won't be production ready without years of engineering by compile team. Overall nice for Go developers that wanna do some simple UI with lists and input fields.
gedw99|1 year ago
V0.6 made your issues much less tricky.
Also there is a Material Design theme. And also light and dark.
Here is an excellent example of a gioui app that has light / dark with a custom theme.
https://github.com/chapar-rest/chapar
If you’re on MAC or Windows it’s just “ go run .”.
If you wanted text keening or text sweeping around an arc or RTL / LRT it can do it thanks to github.com/go-text/typesetting
Complex widgets for Calendar spinners or diagrams are out there on GitHub. An effort to bring these together is lacking, and I reckon that if all these things weee brought together it would definitely encourage more developers to dive in.
mort96|1 year ago
I find this to be the case with a depressing amount of Google code. They do not seem to have a culture which values not breaking their users' code.
suby|1 year ago
Under language goals on their readme,
> We also have explicit non-goals for Carbon, notably including:
> * A stable application binary interface (ABI) for the entire language and library
> * Perfect backwards or forwards compatibility
There's also this blurb
> Our goals are focused on migration from one version of Carbon to the next rather than compatibility between them. This is rooted in our experience with evolving software over time more generally and a live-at-head model. Any transition, whether based on backward compatibility or a migration plan, will require some manual intervention despite our best efforts, due to Hyrum's Law, and so we should acknowledge that upgrades require active migrations.
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
Philip-J-Fry|1 year ago
mdhb|1 year ago
https://docs.flutter.dev/tools/flutter-fix
neonsunset|1 year ago