6 ms·
That's why I am so exited about gioui.org because it'll allow native applications for OSX, Windows, Linux (both X11 and Wayland), iOS, android and (sortof) webA
by wrnr 6y ago
That's why I am so exited about gioui.org because it'll allow native applications for OSX, Windows, Linux (both X11 and Wayland), iOS, android and (sortof) webASM.
It is a simple wrapper around the input devices like mouse, keyboard and touch screen and outputs the graphics using GPU shaders (DirectX, OpenGL, Metal). It feels like a mix between a 2D game engine and a UI library.
The immediate mode architecture is a mindfuck how easy it is compared to (functional) reactive programming. You basically get all the benefits of having observers of values with just values.
- nine_k 6y agoThe usual problems are caused by the non-native controls: no built-in affordances like spell checking and all the OS-specific behaviors, no easy way to plug in accessibility, and the non-native look and feel. All this is totally fine for a game UI, and is a much harder sell for productivity software.
- wrnr 6y agoThats a little bit unfair, even the W3C's web-agency has a hard time building an accessible website and needed spend two weeks (of billable time) reviewing different web frameworks because of it: https://w3c.studio24.net/updates/on-not-choosing-wordpress/ https://w3c.studio24.net/updates/on-not-choosing-wordpress/
- nine_k 6y agoNot that many people need accessibility. About 100% of people need spell-checking, though.
- OnlyOneCannolo 6y agoCertain types of automation and testing are often built on top of accessibility features. Accessibility doesn't just mean accessible to the disabled. It also means accessible to your code.
- p_l 6y agoExactly. And people forget that depending on the UI libraries you use, you might get a mostly accessible app by default. All of core Windows widget classes, and WinForms and WFP, support accessibility features. Worst case you have a somewhat broken object tree without good labels, but that's already a start. Dealing with something that believed it only needs a canvas to draw on is PITA.
- outworlder 6y ago> Not that many people need accessibility. 100% will require accessibility in some form if your timeframe is long enough. We aren't young forever, you know.
- wtetzner 6y ago> All this is totally fine for a game UI, and is a much harder sell for productivity software. Is it? Web and electron applications have the same issue, and they seem to be doing fine.
- jniedrauer 6y agoI started playing around with gioui the other day. It looks like it has a lot of potential. I was curious if it could redraw efficiently enough to be used as a go equivalent to pygame. Have you experimented with anything that requires a high refresh rate? I guess I need to finish my experimenting and find out for myself.
- rektide 6y agoFlutter is similarly building a canvas based rendering system for the web, called CanvasKit. I think it's neat that folks can skip the conventional web technologies & hypertext & use the web to create arbitrary systems. But I also think this is quite a malignant & user-de-empowering & tragic development for the web. The DOM has been extremely powerful as a common language, that users can make use of directly & via extensions & scrapers. Stealing this fire back from the users, renegging on the web's promise that it's the user's agent, for them to use to navigate the web as they like: that's a great & sad regression. In my opinion the web is worthwhile & useful. Bypassing it, treating the web like thin-client, a way to push pixels in people's face, via some auxiliary rendering process, be it local (webassembly) or remote, is a terrible usurpation of user's agency. Projects like Flutter's CanvasKit & others are a great danger to one of the few piece of technology that has enabled users some level of control & freedom, the web.