Posted by jonathansimon
on June 3, 2004 at 10:24 AM PDT
Sun has come out with JDIC to
make moving from a web context to a rich client easier. Much as I
support the move, it doesn't help all that
much and I'm afraid that Sun is missing the point... again!
"JDIC will enable applications written for the Java platform
(Java applications) to integrate more seamlessly with their native
I wish it did. I really wish it did... but it doesn't.
I, and other Swing developers, have spent hours upon hours under
the magnifying glass -- literally -- using the Windows
zoom tools to make sure all of the layouts and components are aligning down to the pixel level in my
Swing app the same ways they would in a native Windows app. This
is the kind of precision you need when you're building high quality
That said, if you are going to release Java versions of popular
native components, they must look identical down to the pixel.
And frankly these components don't even come close. Take a look
at the Windows file chooser:
And now look at the JDIC file chooser:
In the JDIC version, the fonts are incorrect, there is no toolbar or menu bar, the JDIC
"Modified" column should read "Date modified", there is no column
shading for the selected column, and the list goes on.
I realize that the attempt is to make a UI function the same across
platforms, but that is not real life. Political operating systems wars
aside, we need native components to look like native
components. This means custom code for each OS, special layouts,
customizations, and whatever it takes to deliver a professional
Remember, the end goal is the product, not how we got there. None
of my users will care if the app is written in Java, Swing, SWT, C#, or
whatever. What they do care about, is whether it works like
everything else on their desktops. And the end result of what I've
seen in JDIC, is I still have to build all of this stuff myself.