4 ms·
egui [1] supports wasm. I wrote a simple chord finder for learning to play guitar with it pretty quickly [2], and would use it again to solve a problem like th
by kelvie 3y ago
egui [1] supports wasm.
I wrote a simple chord finder for learning to play guitar with it pretty quickly [2], and would use it again to solve a problem like this, though I'm told immediate mode UI frameworks aren't good for things other than quick prototypes, or in my case, scratching a quick itch.
[1] https://www.egui.rs/ https://www.egui.rs/
[2] https://kelvie.github.io/chord-finder/ https://kelvie.github.io/chord-finder/
- xyzzy_plugh 3y agoImmediate mode UI frameworks are not inherently less appropriate than any other framework. Curious what the source of that is.
- nox101 3y agoIn my experience Immediate mode UI frameworks are almost always not very internationalization friendly (right to left text like Arabic, problematic IME support) and, they are almost always not very accessibility friendly. Also things like system context menus to offer features like translation, system level spelling correction with the user's custom dictionary, system password memorization and recall, word lookup, etc it's not impossible. in fact at an API level, React is an immediate mode gui written on top of a retained mode gui. but it's that retained mode that's providing all the features above. which immediate mode GUIs have you used that cover these features?
- xyzzy_plugh 3y agoIf the issue is that implementations are feature lacking, that's a different story. The world is littered with half baked frameworks. Hell, I've used plenty of retained mode frameworks that lack all of those things too. My concern was moreso that there is nothing inherent to immediate mode that prevents all of those things. Someone just has to build it. RTL tends to be more of a layout problem and has little to do with UIs. Most of my experience with immediate mode UI frameworks is in proprietary applications. I will say that we had no issues with localization and we integrated well with screen readers though none of this was in a platform independent manner. And that's usually the root of all of these issues.
- nox101 3y agoI disagree that "someone just has to build it." For example, when iOS shipped it did not have spell checking, word lookup, translation, password insertion, etc built in as context menus on text. When those features were added by the OS, every app using the native widgets got those features for free with no work on their part. Apps that rolled their own though, had to re-release their app. If they don't have time or their app is abandoned then their users suffer. This is arguably one of the reasons flash was killed off. It was designed to render to a rectangle of pixels and it assumed a mouse and keyboard. Then smartphones appeared and no one was going to go back and fix millions of flash pages. Current apps doing their own thing will have the same problem with the next UI change (maybe vision Pro for example).
- xyzzy_plugh 3y agoSure, I'm not arguing against using native widgets. I'm not suggesting that immediate mode necessitates eschewing all of those things or hand rolling them. There is a difference between native frameworks and cross-platform frameworks. Did Qt magically support all of those features on day 1? Xamarin doesn't completely support all of the iOS input properties, for example. This feels like a straw man.
- pseudosavant 3y agoThis was exactly my experience building an app at my last company that used an immediate mode UI. You get so much baseline accessibility 'for free' if you use the DOM.