As a general observation on this issue, I think it’s pretty frustrating that we don’t have a good answer to this, but I think we’re not alone – the GUI toolkit space seems to be long on options and short on satisfaction. It seems that you can have two of the following three:
- Cross-platform.
- Really good native look.
- General: can build any kind of GUI.
Single-platform are often very good and provided by the platform vendor – these are 2 & 3. Most other toolkits are cross-platform but leave much to be desired in aesthetics – i.e. 1 & 3. Many people have tried, but it seems almost impossible to write generic cross-platform GUI code and have it look really good on all platforms. But I have to wonder if there isn’t a space for 1 & 2 – i.e. a limited-purpose cross-platform toolkit with very nice, largely automatic, native aesthetics. A lot of scientific applications have pretty limited, simple GUI requirements, and it would be nice if they were cross-platform and looked really good, as compared to the notoriously bad looks of some common open source GUI toolkits. Part of the problem seems to be automatic widget layout, which is a notoriously hard problem, but one which Julia is well-positioned to address since we’ve got JuMP ![]()