4 ms·
This and other stories reinforces my belief that Kolmogorov complexity in software is a real thing(tm) and cross-platform GUI tooling will never be good enough
by guhidalg 4y ago
This and other stories reinforces my belief that Kolmogorov complexity in software is a real thing(tm) and cross-platform GUI tooling will never be good enough to avoid having to write platform-specific code.
- zigzag312 4y agoIssue with Xamarin.Forms was that provided widgets were quite lackluster and to write custom widgets you had to know native APIs of multiple platforms. IMO, the source of the problem was that it's widgets used native widgets for rendering. Build-in widgets were lowest common denominator, primarily supporting only features avaliable on all platforms. Where platforms deviated, complexity started. However, UI frameworks that render widgets themselves, using drawing APIs, are a completely different story. They are harder to create, as they need to develop all widgets from scratch (rendering, text, input, accessibility etc). Basically reimplementing part of OS APIs. But once this is complete, the hard part is done and supporting additional platforms is relatively simple. Avalonia has written good blog post about this: https://dev.to/avalonia/avalonia-platform-support-why-its-simple-cjd https://dev.to/avalonia/avalonia-platform-support-why-its-si... Developing cross-platform GUI application with this kind of frameworks is about as complex as developing GUI application using native SDK for a single platform. Most complexity doesn't result from different platforms anymore, but from different form factors and input devices. They have one Achilles' heel however. The web. HTML is unfortunately much higher level that drawing API on other platforms. So, the only option for the web is usually WebAssembly.