Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really like this trend. Also see:

* Raylib - A single header file game engine https://www.raylib.com/ * Miniaudio - A single header file audio library https://miniaud.io/

Both (actually, not just three systems) cross-platform.

For their design and cross-platform support they make for great bases for Go libraries, unlike most C code out there.



I can't say I'm excited about this trend, if it is a trend.

Immediate mode GUIs are usually pretty nice from a developer point of view, but many of them are lacking many things like accessibility and text selection. Maybe good for 3D modelers, video editors, etc., but not for more general purpose apps.


General purpose apps are pretty bad with accessibility. I've noticed a trend with Electron based apps which neglect to proper use aria annotations until someone complains.

Harping on immediate mode GUIs doesn't help. I don't think anyone is against making IM GUIs more accessible.

The predominant immediate mode library in Go, Gio, has been slowly working on support for various ecosystems. I believe it supports Android to some extent already.


The trend I was talking about is small, well-designed simple to use, truly cross-platform header only libraries.

For accessibility I think that's sadly a part that people in general don't seem to care a lot. And while some of the big libraries do a lot for you there, it also depends a lot on how it really is used. The trend to Electron and others also isn't really helping there.

To be fair though, I am happy about the trends that this topic is actually something people even are aware of. Five, ten, fifteen years ago this was very different. I remember a time when using HTML over Flash for accessibility reasons was considered a non-argument. Now you see that topic brought up "a lot".


It really depends on where you work. In large companies, there was already a strong emphasis on accessibility 10-15 years ago, if only because there's a bunch of requirements if you want to sell software to the government.

As for small and simple libraries... it's great when the subject matter is also small and simple. UI is not, though.


Having a peep at miniaud.io, I am astounded to say the least.

It supports almost all of the popular back-ends across platforms. A library as complex as PortAudio in a (largish) header.


Yes, I found it by accident, because I dug into a Go code base I don't even use for fun, because I wondered about how they do audio, noticed it wasn't actually cross-platform. So I wondered if it's solved overall and found this, which seems to be the most straight-forward way of supporting pretty much all platforms that Go supports. Not completely sure about Plan 9 though.

https://github.com/gen2brain/malgo




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: