interview of the director of engineering for NetBeans has generated a pretty
lengthy discussion. There is a particular argument used by Sun employees
to bash SWT that I am getting a bit tired of:
Swing, the NetBeans Platform and the NetBeans IDE are 100% pure Java –
you are not being locked in to someone else’s proprietary implementation.
This is nonsense.
Swing is based on AWT, which is not native, and as a matter of fact, there is
a different AWT for every operating system.
What you can say is that SWT relies on more native code than Swing, but
frankly, who cares?
Here are a couple of facts:
- The platforms supported are the same (both Swing and SWT run on Windows,
various Linux window managers and MacOS, which covers probably close to 100%
of the desktops out there).
- NetBeans still requires you to download a different executable depending
on your operating system.
And in case you have any doubts, just go to the
Download page and you will see that you are asked which operating system you
use before you can start the download (which is an executable).
On a more personal basis, I think the SWT/JFace approach is not only more
powerful than AWT/Swing, it is also more user-friendly:
- It takes a long time for Swing to adjust to the latest user interface of
its hosting operating system because every single new widget needs to be
reimplemented from scratch in Java by Sun.
- The support for native integration in Swing is still very primitive.
For example, I configured my Windows desktop to support single-click
operations (I never double click). When I open a NetBeans file dialog,
I still find myself having to double click, which is a horrible user
experience and contributes greatly to making Swing applications feel so
different from everything else.
And finally, a quick advice to the NetBeans team: please stop blogging
about SWT or Eclipse. Refocus on writing good Java code and only post
about what makes NetBeans different from Eclipse as opposed to "better".
most of all, stop publishing stories of users who switched from Eclipse to
NetBeans, it is embarrassing.
Just let your users and readers judge, they will respect you more for it.