JDICPlus: Has JDIC Received CPR?
Just in time for JavaOne, it looks like Sun and the community have breathed some new life into the JDIC, the JDesktop Integration Components, a project that has appeared dead for over a year.Via Kirill's Swing Links of the Week, I found a very interesting announcement from last Monday about a new project called JDICPlus. Currently only for Windows, JDICPlus allows you to work more closely with the Win32 API, primarily allowing a lightweight wrapper around IE.
Right now it's in a pretty early stage, but they have some nice demos showing a Java web browser using IE, Flash playing in a Swing Frame, and a Map Explorer app that looks pretty neat.
Many users had written JDIC off for dead since the release of Mustang, where, I believe, the most used parts of the API were rolled into the core API. It's good to see someone making use of the components to add enhanced integration with a key platform. If you're deploying a Java client to Windows, take a look at JDICPlus, it might just make your experience a bit smoother.
- Login or register to post comments
- 3864 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)










Comments
Rick Ross replied on Mon, 2008/03/31 - 7:57am
In the erea of mashups, there's little doubt that JDIC plays an important role if Java is to be a strong contender in the field of desktop applications. Just about every app I can think of these days has some need to integrate with its host OS or leverage the power of the system's default browser.
I'm glad to see signs of life on JDIC, and I hope this presages good things yet to come. Anyone know more about what's ahead?
Jacek replied on Mon, 2008/03/31 - 9:38am
I have to say this project is VERY upsetting.
We use Java because it is supposed to be a cross-platform tool. And here Sun comes out and says:
Currently the JDICplus is a Java Win32-extension development kit, enabling developers to use extended Microsoft Windows API functionality
Well forgive me, but this is a major sham. I am tired already of Swing on Linux being totally unmaintained (bugs galore, both with L&F and with actual functionality, something as simple as JFrame.setExtendedState() does not work reliably) and now this. Not to mention some of the recent enhancements in the JDK (like Quickstarter) being Windows-only by default.
If I want to develop windows-only apps, I'll use C#/.Net.
Sun is playing a very poor game if it wants to optimize Java only for Windows and other platforms be damned. It goes against everything that Java was supposed to be.
Rick Ross replied on Mon, 2008/03/31 - 9:46am
in response to: Jacek
We use Java because it is supposed to be a cross-platform tool. And here Sun comes out and says:
Currently the JDICplus is a Java Win32-extension development kit, enabling developers to use extended Microsoft Windows API functionality[/quote]
Your complaint seems quite reasonable to me, Jacek. I certainly don't want to suggest that JDIC should move forward in some kind of Windows-only strategy. That would completely contradict the value proposition of Java!
I had thought that it was Windows first, but I suppose it was optimisim that made me assume full support for other major platforms would follow. I really hope it will. Does anyone have further info about this?
Jacek replied on Mon, 2008/03/31 - 10:25am
in response to: rick
If the project name was Java IE Wrapper (which is what it is at this point), sure, I could accept it...it's Windows-only app, fair game. But the project description implies that JDIC in the future will be optimized for accessing Win32 API only.
For us Linux users I have only one thing to say...thank you IBM for SWT. Really, much appreciated. I didn't fully understand its value until I switched to Ubuntu. At least I can embed the browser in SWT, across all platforms.
Alexander Shvets replied on Mon, 2008/03/31 - 12:29pm
Pete Cox replied on Mon, 2008/03/31 - 8:41pm
Perish the thought there's already an HTML component in Swing.
If Sun had funded development of the
HTMLEditorKit to be XHTML and Acid 3 compliant we wouldn't be in this mess of embedding IE/Webkit/Gecko.Plus, Swing would have a killer HTML editor built in.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4296022
Filed in 1999, 350+ votes.
Jacek replied on Tue, 2008/04/01 - 7:16am
in response to: pc36525
Personally, I disagree. It's pointless to keep reinventing whatever is already working well on every platform.
Just integrate Gecko by default and it's done. Java needs to get out of its 'everything needs to be done in Java' mindset and allow better integration with native libraries...but for all platforms, not just windows, with a proper cross-platform API.
The Mono guys were able to get a simple prototype of Silverlight ported to Linux in 2 weeks(!!!) just because they relied on existing bindings to mature video/graphics libraries instead of writing them from scratch. Sun could learn something from their "reuse what already works" way of thinking (even if I don't want to touch Mono with a ten foot pole, too much MS worshipping going on in there).
Marcus Breese replied on Tue, 2008/04/01 - 11:59am
I think its time to realize that Java's orginal vision as a complete cross-platform environment is dead. Done. It failed. (and that's a good thing) I don't know anyone who thinks that write-once run-everywhere is still possible.
People choose their OS for a variety of reasons, and they expect their programs to use (and look like) their OS. In this case, the updated JDIC project is a move in the right direction. Most developers end up targetting one platform or another, so why not optimize for it? We need to the most out of the OS as possible.
The logical evolution of this (as I see it), is SWT style programming, where you can program to a cross-platform API, but under the covers, the code is all platform specific. Then, if you need/want the extra functionality of the underlying OS, it would be possible to get it.