Sun's JDIC And JDNC: A Cross-Platform ActiveX?
Espectr0 writes "eWeek is reporting that last week, Sun Microsystems Inc. licensed a pair of the underlying technologies of the Java Desktop System under the open-source LGPL (GNU Lesser General Public License). The two projects, JDNC (JDesktop Network Components) and JDIC (JDesktop Integration Components), are essentially to Java application developers what Microsoft's ActiveX and COM were to Windows developers--an architecture for creating easily configured application components and for integrating with the functionality of the local operating system and other applications."
This quote is misleading:
The two projects, JDNC (JDesktop Network Components) and JDIC (JDesktop Integration Components), are essentially to Java application developers what Microsoft's ActiveX and COM were to Windows developers--an architecture for creating easily configured application components and for integrating with the functionality of the local operating system and other applications."
From the JDNC project page:
The goal of the JDesktop Network Components (JDNC) project is to significantly reduce the effort and expertise required to build rich, data-centric, Java desktop clients for J2EE-based network services. These clients are representative of what enterprise developers typically build, such as SQL database frontends, forms-based workflow, data visualization applications, and the like.
And then from the JDIC project page:
The JDesktop Integration Components (JDIC) project aims to make Java(TM) technology-based applications ("Java applications") first-class citizens of current desktop platforms without sacrificing platform independence.
The quote is misleading because it doesn't explain how ActiveX is similar to JDNC/JDIC. The similarity is platform lock-in: ActiveX and COM means you're stuck on Windows (albeit with a choice of programming languages). JDNC/JDIC means you're stuck on Java (but without real, viable choice on the language).
The fundamental problem (IMHO) is that desktop component integration is limited to a single desktop. Yes, I can have code reuse on Windows, and I can have code reuse on Gnome|KDE|Sun(tm)Java(r)Desktop(tm), but will I ever have (or need?) component integration across the three? It seems to me that developers have enough to handle getting the core functionality right.
This kind of thing seems like just so much... distraction.
Er no. This is Java. Unlike ActiveX, its designed not to do nasty things.