A like alone is not enough for me to back up @adamski’s approach - I agree that recreating native widgets via LookAndFeel classes is NOT the way to go. Apple in particular likes to tweak the look and behavior of everything every year, and being even slightly off will instantly tip off users AND Apple (who very much dislike third party toolkits aping AppKit).
JUCE has ComponentPeer objects which allow for drawing native OS objects - if you want to try implementing it, that would be the way to go. I’ve looked into it, and it seems like it would be a monumental task to do for all platforms - especially with things like default widget sizes and layout options being different on each platform.
Beside that, I feel the pain of those who complain about the look of JUCE apps (especially on macOS). It looks fine for audio plugins where there’s usually some elaborate skin that isn’t meant to look native in any capacity, but for full fledged apps (cough Traktion) it sometimes looks a little (read: a lot) out of place.
A big source of this problem I think - and I really don’t mean to hurt anyone’s feelings here, I consider myself one of the most die hard fans of JUCE - is I think the default LookAndFeel classes look ugly as sin. The colors are totally weird (what app uses purple/grey?), the font size and typeface are off doing their own thing separate from the rest of the OS, and other obvious stuff that was fine in 2007 but feels incredibly janky now (non-native context menus, twitchy text in text editor, etc.). And that’s ignoring the under the hood issues that have cropped up such as the crazy CPU usage that has appeared in the software renderer with the introduction of HiDPI/retina screens, and the OpenGL renderer that’s meant to replace it has its own serious issues as well (anecdotal from what I’ve read and seen).
A place to look at how JUCE could look is Adobe’s apps - their UI toolkits have an amount of “native-ness” on par with JUCE (native macOS menubar, file dialogs), the difference being that the non-native widgets are beautiful (especially in Photoshop). I can only chalk this up to Adobe having an army of UI/UX designers and JUCE being designed by engineers(?).
I actually created an Adobe-cross-Apple-ProApps-like skin for Qt 4.8 at my last job, and have been working on creating another one on my own time as a JUCE LookAndFeel class - I’m just waiting on a feature to show up (or be acknowledged - Request: get system font (typeface name + size)). I’m planning on BSD licensing it and setting it free so people can start off with a nicer LookAndFeel that matches a more modern look (dark/light/skinnable/flat/etc.). So keep an eye out for that if that kind of solution works for you.
