I'm excited to see more additional development solutions for Objective C; but why are we taking a step backward with these awful Java like GUIs that have plagued Eclipse and NetBeans?
Why in 2011, are people still building UI heavy applications with Java?
Why are JetBrains doing it? So they can reuse code.
At least I hope that's why. If that team isn't sad about not being able to provide a proper Mac GUI then they're out of touch with what's good about the platform.
First, JetBrain IDEs that I've used are lightyears ahead of Eclipse and Netbeans in terms of performance. Secondly, they have a lot of established code written in Java. Thirdly, their other IDEs are cross platform.
I'll wait and see how this turns out, but their other offerings are excellent.
I think you've made a bit of a misconception here in confusing the underlying programming language (Java) with the UI library. Assuming you want a program to act and function naturally, like an OS X application - in which your problem is really down not to the programming language used. It is down to the libraries that are being used to develop the UI. Were people to be using Java as the language, but building from a Cocoa binding then you'd be able to have the same UX as a native app. Netbeans uses its own library, which is based on top of Swing. This doesn't feel native at all.
It is also worth noting that there's a big difference between the Gui Libraries that Eclipse and Netbeans depend upon. SWT, the library that eclipse depends upon is actually using native widgets /most/ of the time underneath. Unfortunately it does a lot of its own UI stuff on top of those widgets, and doesn't really follow Mac OS guidelines. I still feel its an incredibly well designed UI though in many regards.
Our startup's main product uses Java for a UI heavy app because makes it cross platform out of the box and is relatively easy to develop a nice, native looking UI with if you know what you're after.
Our closest competitors locked themselves to one platform and have faced challenges trying to go cross platform.
Being 'easy' is irrelative when it results in a terrible user experience. There's no way to explain to the user: "oh this would look a lot better but we wanted to use a different language so it's not our fault".
Most of the great IDEs are java. Jetbrains makes their money in the java market, so seems reasonable to leverage their existing code base. Also, java gives you cross platform. Not an issue for AppCode, but it's a biggie for all their other languages (ruby, python, php, java)
Why in 2011, are people still building UI heavy applications with Java?