Live data from Hacker News

Ask HN: What's the best library for making cross-platform UIs?

news.ycombinator.com

161–170 of 230 posts

Re: Ask HN: What's the best library for making cross-platform UIs?

#161
post #28

I like JUCE. http://www.juce.com/ It's used for a lot of audio apps and plugins but lots beyond that too.

JUCE is all that and a bag of chips. It is a perfectly capable competitor to QT, yet also has fantastic multimedia APIs. Docs are excellent. Source is ultra clear.

Re: Ask HN: What's the best library for making cross-platform UIs?

#162

Qt has a truly pleasant API and bindings in many languages. If you haven't used it before - and I know you haven't, otherwise you wouldn't be asking :) - give it a try. There's very little that's more cross-platform.

My impression with Qt is that it has less language bindings than the alternatives. For Qt5 you find lots of bindings for QtQuick stuff but if you want to use traditional QtWidgets then its basically C++ or Python.

Re: Ask HN: What's the best library for making cross-platform UIs?

#163
post #123

Here's what I want. - The UI to look as good or better than the UI on Mac OS X. I'm not willing to compromise on looks. - The library to be cross-platform. I want to deploy the software on Mac OS X, Windows, and Linux. I don't care about mobile right now. - I want it to be possible and easy to (a) develop new features on my own and (b) change existing features. I'd rather reimplement a textbox from scratch if it's th…

Before you start to roll your own consider that there have been many attempts to do this already and they have all failed to varying degrees. The reason for this is that it's much harder to get right than it seems.

QT is what I've used when a client is determined to go down this path, but if a web app doesn't make sense the best option is almost always to spend extra time making sure that most of your code is portable and then write a native UI that uses it for each platform that you care about.

Re: Ask HN: What's the best library for making cross-platform UIs?

#164
post #33
post #17

I see nobody mentioned Juce. It is pretty neat if you like C++

JUCE is a great framework, has a very commendable coding style and is easy to get into. One thing to note is that the "JUCE way" of doing things is to have a UI that looks exactly the same on every platform - this is good for predictability, but if you want a UI that looks native , you're better off using Qt or wxWidgets (as C++ UI toolkits go). In many cases I'd say that's not an issue, and JUCE is underrated/underu…

probably licensing and cost limit juce's popularity.

Re: Ask HN: What's the best library for making cross-platform UIs?

#165
IUP[0] has not been menthioned.

IUP is wrapper for gtk+, motif and win32.

Pros:

* really simple api

* native toolkit

* c api, so other languages can easily write binding for it

Cons:

* controlls(widgets) are limited

* cocoa(mac) is not supported {they suggest to use gtk instead}

* documentation is spotty

* nobody is using? (I believe no linux distros have it in repository)

somebody here menthioned libui[1], it is exactlly the same philosophy

[0]http://webserver2.tecgraf.puc-rio.br/iup/ [1]https://github.com/andlabs/libui

Re: Ask HN: What's the best library for making cross-platform UIs?

#166
post #140

Earlier quoted context omitted.

In my experience with it, wxwidgets has a very antiquated feeling to the API (I know, subjective) and it didn't ship high DPI support when I used it. Its Python bindings at the time felt rather unpythonic. Generally I wouldn't want to use this again.

So far wxWidgets is the only library that anybody has mentioned that actually can be counted on to make somewhat accessible UIs. To see it dismissed because it's a little crufty for the developer to work with makes me incredibly sad, as it's just part of the slow decline that leaves me as a blind person with less and less accessible stuff to use. One day I'll be stuck on an old emulated version of Windows running onl…

How is accessibility in wxWidgets compared to GTK+ / Qt?

Re: Ask HN: What's the best library for making cross-platform UIs?

#167

IUP[0] has not been menthioned. IUP is wrapper for gtk+, motif and win32. Pros: * really simple api * native toolkit * c api, so other languages can easily write binding for it Cons: * controlls(widgets) are limited * cocoa(mac) is not supported {they suggest to use gtk instead} * documentation is spotty * nobody is using? (I believe no linux distros have it in repository) somebody here menthioned libui[1], it is exa…

There is a project to add cocoa support that would appreciate some help.

https://github.com/ewmailing/IupCocoa/tree/Cocoa

Re: Ask HN: What's the best library for making cross-platform UIs?

#168

Earlier quoted context omitted.

As a note, Qt doesn't handle DPI well, it seems. Qt apps are almost unusable on a Surface Pro 4.

Old versions of qt. Anything after 5.5 should be fine.

Good to know!

Re: Ask HN: What's the best library for making cross-platform UIs?

#169

What is the best depends on your exact requirements but three good options to get a GUI off the ground quickly are Tk [1], wxWidgets (and wxPython [2] and wxLua [3] in particular) and Lazarus (LCL) [4]. Tk widgets look native on Windows and macOS (if you use the right ones — see [5]), though their behavior is implemented by Tk itself. On Linux it draws its own widgets in several styles; GTK and Qt theme support is im…

Last time I tried wxPython (a couple months ago) the installer was broken on Windows.

Re: Ask HN: What's the best library for making cross-platform UIs?

#170
post #104

Earlier quoted context omitted.

Cross-platform with a single code base has always been a bit of a myth, if only because different platforms have different conventions for things like how to lay out dialog boxes or the writing style used for buttons. If you want something that feels like a native application on different platforms, it's always going to require some level of customisation. It's still useful to have a single UI library in your code th…

Instead of giving me the tools to make a modal pop-up, but then leaving me to match that modal pop-up to the stylistic conventions of each OS GUI, why can't a UI framework give me a "YesNoModalPopup" that looks and acts however a "YesNoModalPopup" is supposed to act on the respective OS—even going so far as to actually be a modal sheet or a command-line prompt instead? This, I think, is one of the bigger but oft-unst…

> why can't a UI framework give me a "YesNoModalPopup" that looks and acts however a "YesNoModalPopup" is supposed to act on the respective OS

As a simple counter-example, macOS rarely uses Yes/No/OK/Cancel buttons. Instead, dialog buttons have meaningful names based on the task at hand, e.g. "Overwrite File" and "Keep Old File".

Post reply on HN