Live data from Hacker News

Libui: GUI library in C

github.com

11–20 of 186 posts

Re: Libui: GUI library in C

#11
Juce is another interesting UI lib https://www.juce.com/

Works with Windows, Mac OS, Linux, iOS and Android.

Strangely, juce seems to have a revamped website that has no pictures or screenshots of the juce user interface and its widgets. Weird. Not sure how effective that marketing is...

Re: Libui: GUI library in C

#13

Why would anyone write a GUI app in C? Almost every alternative is better for the job.

How so? The likely reason is that a C lib is usable from many other environments. Look at ncurses for example. Heavily used from many languages, and written in C.

Another reason is that the underlying tools used by this library are likely in C as well, so it's probably the easiest language to use for the task.

Re: Libui: GUI library in C

#14
post #7
post #3

Finally. I'm hoping that a native UI toolkit that can be used via FFI from nearly any language might take a chunk out of the Web-as-application-delivery-platform mindset. I don't blame anyone for making non-native apps with Electron and HTML5, because it's so difficult to make them work on every platform. But here's to hoping someone finally got it right, and that native applications can take back some ground. Death…

Well, plenty of people tried this approach (off the top of my head, wxWidgets, Tk (the TCL framework, still powering Python, Perl and Ruby GUIs), FLTK). Unfortunately, all those frameworks fail for the same reason: they're all 90% there but fall short on the small details. Still, let's hope that libui does great --- it's already quite a feat to have the basic window controls working the same on three different platfo…

This is not the same approach. Wxwidget is C++ which makes binding to other languages cumbersome. The same applies also to TK which is binded trough an embedded TCL interpreter.

Re: Libui: GUI library in C

#15
post #11

Juce is another interesting UI lib https://www.juce.com/ Works with Windows, Mac OS, Linux, iOS and Android. Strangely, juce seems to have a revamped website that has no pictures or screenshots of the juce user interface and its widgets. Weird. Not sure how effective that marketing is...

I guess what makes Libui interesting is its C language implementation.

Re: Libui: GUI library in C

#16
I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI.

Microsoft tried this idea out and it didn't work a few years back but it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff.

Edit: well I guess Google had the same idea long ago and called it ChromeOS - browser as OS interface.

Re: Libui: GUI library in C

#17
post #11

Juce is another interesting UI lib https://www.juce.com/ Works with Windows, Mac OS, Linux, iOS and Android. Strangely, juce seems to have a revamped website that has no pictures or screenshots of the juce user interface and its widgets. Weird. Not sure how effective that marketing is...

I guess what makes Libui interesting is its C language implementation.

juce is C++

https://www.juce.com/learn/coding-standards

Re: Libui: GUI library in C

#19
I was looking for this for quite a long time. Choosing C allows one to bind easily to a moltitude of "managed" languages. I Always found IUP (http://webserver2.tecgraf.puc-rio.br/iup/) approach very interesting but it lacks an OS X binding. I will see how the two libraries compare one to each other.

Re: Libui: GUI library in C

#20
post #2

Very interesting. Just built it on ubuntu 16.04 smoothly, the only dependency is gtk-3.0. What's the difference between libui and libsdl? The latter is also in C and supports many platforms. For large applications I may just use QT and for some embedded GUI I can use libsdl, what's the goal for libui?

SDL is pretty barebones, if you want to build a UI with it. You've got to build up all your widgets yourself from scratch - rendering & compositing, handling input events, etc.

SDL really shines in simple cross-platform abstractions - window creation, basic rendering, input handling, threading, timers, basic audio, platform-agnostic file handling, etc. The older version (1.2) also had extensions for fonts, networking, and some other things, but I'm not sure if that applies for 2.0. Beats the snot out of messing with Win32 for getting started with game programming.

Post reply on HN