Since announcing its intention to license Java from Sun Microsystems last December, Microsoft has become an eager evangelist of Java technology--at least as a programming language. The software giant, however, has consistently argued that Java is limited and should be extended by individual vendors for specific platforms.
Following its own advice, Microsoft has extended the capabilities of Java on Windows 95 and NT by enabling applets to interoperate with ActiveX components.
With Visual J++, previously code-named Jakarta, Microsoft is hoping to promote Java to its sizable community of ActiveX developers. Although the tool can also be used for pure Java development, the ActiveX support will be its key differentiating factor from competitors, including Java WorkShop from SunSoft, Caf? from Symantec, and the upcoming Latte from Borland International.
But that ActiveX support has also rankled Sun's JavaSoft division, which fears that Microsoft may be compromising the platform-independent spirit of Java.
JavaSoft is itself promoting JavaBeans, a technology that competes with ActiveX for expanding the capabilities of Java applets. Sun maintains that JavaBeans will be more cross-platform than ActiveX, but, at present, the technology is only in the specification stage.
Unlike similar Java tools from Symantec and Sun, Visual J++ allows developers to seamlessly mix Java applet code with ActiveX code from other languages such as Visual Basic, C, and C++, said Hyer Bercaw, product manager for Visual J++. The combination of languages could create, for example, an applet that calls on native multimedia services in Windows for better performance, something that is currently impossible with Java alone.
But the side effect, Bercaw today acknowledged, is that some applets that are extended with ActiveX will only run on Windows.
"At this point, the story is spotty," said Bercaw. "In some cases, it will break the cross-platform nature of Java. In some cases, it won't."
But Visual J++ doesn't force a developer to add ActiveX APIs to an applet, Bercaw said. "We make it very seamless to hook into a large number of existing programs via ActiveX," Bercaw said. "But that's a choice, not a requirement."
Some analysts dismissed JavaSoft's fears about Java losing its platform independence because they think that developers that want to take extensive advantage of Windows APIs will use other, more mature tools than Visual J++.
"I don't think there's a risk of that yet," said Tracy Corbo, senior analyst with market research firm International Data Corporation. "If you're determined to hard-code calls to Windows, then you'll use ActiveX alone."