|
I don't actually mean IntelliJ in particular, but Java having its own UI kit. Nothing looks or feels native on any platform. I've heard something about a graphical widget kit that emulates native on Java, but as far as I can tell IntelliJ (and most Java apps I've seen) don't use it. Though since you mentioned IntelliJ, I find its UI pretty hectic too, a hodgepodge of 90s-style MDI and modern tabs and split panes. Some of the most common patterns (going between the terminal, code editor, debugger, git, npm, and DB browser) requires navigating between like seven different places in no logical arrangement. Why is npm a tab bar in the lower left, the actual npm list in a pane above it, git/terminal debugger on the bottom, the code editor in the upper right, the db browser in the upper right sidebar (which isn't even visible by default), the db query itself in a tab mixed with the code editor, the debugger output in the bottom but the button to start it in the top toolbar... I can never find the features easily because I don't know which pane or tab group it's supposed to be in. In something like VScode, the features are categorized in a hierarchy and arranged in layers in the left sidebar in a sensical drill-down pattern. Xcode is visually cleaner too. It's not just about the presentation of UI widgets (scroll bars, etc.) but how they're arranged in terms of information architecture, discoverability, cognitive load, diving down, etc. Everything is a "module" of equal value competing for screen real estate and together it is pretty visually overwhelming, especially to new users. More important things like the terminal or debugger shouldn't have the same level of prominence as the less important things (profiler, R jobs). Not all features get used with the same frequency, or in the same contexts, but IntelliJ organizes them all pretty flat. That's just me, though. It's like a lesser version of the MS Office "toolbars vs ribbon" debate. If Jetbrains actually tried to overhaul their UX, they'd probably see a mass exodus of wizened old beards. |
This is probably because not many apps really use native widgets anymore on any platform. It's not even clear what the native UI toolkit on Windows is anymore, due to the numerous aborted attempts to replace Win32 that didn't quite take off.
The Swing widgets IntelliJ uses aren't any worse than native widgets and some are actually much better, for example, any tree view in IntelliJ supports excellent typeahead search, many text inputs are in fact full blown code editors and so on. I don't feel I'm missing anything by them not being Cocoa.