Re: questions about capabilities of mozilla-java interoperation

Javier Pedemonte <[email protected]> Mon, 06 Aug 2007 11:56:44 -0500
Newsgroups gmane.comp.mozilla.devel.java
Message-ID <Zpidnbr1T8ZNzyrbnZ2dnUVZ_ualnZ2d__37133.1921582625$1186419624$gmane$org@mozilla.org>
Bamanzi wrote:
> As the product is for end users, I
> don't like the memory overhead of Eclipse.

Do you know about the Rich Client Platform 
(http://wiki.eclipse.org/index.php/Rich_Client_Platform)?  Might fit 
your needs if you want to do something Eclipse-based.

> Now I'm trying to find out what role Java could play in Mozilla/XUL
> platform, but get lost in a forest of jargons: LiveConnect, BlackConnect,
> Blackwood, OJI, JavaXPCOM, Webclient...

LiveConnect allows JavaScript-Java communication, usually with a Java 
applet on a page.

OJI allows different JVMs to work with the browser.

JavaXPCOM extends the language binding facilities of Mozilla in order to 
allow Java-XPCOM communication (where XPCOM can be classes written in 
another supported language, such as C++, JavaScript, Python). 
Currently, JavaXPCOM only allows Mozilla embedding in a Java app.

Webclient allows the embedding of Mozilla or IE in a Java app.  It 
provides a higher level API than JavaXPCOM.

Blackwood and BlackConnect are obsolete.

> Which ones are meant for using Java inside
> Mozilla, and which ones for connecting and commanding Mozilla from outside?

JavaXPCOM and Webclient both allow embedding Mozilla in a Java app and 
communicating with and commanding Mozilla.

If you wish to create Mozilla components/extensions that use Java, then 
your only option right now is to create a JavaScript component and have 
it load your Java code 
(http://developer.mozilla.org/en/docs/Java_in_Firefox_Extensions).

> And I also noticed that the incoming Eclipse 3.3 can embed XULRunner as its
> web browser. But can I command it to navigate to chrome:// urls?

No, since you would have to provide your own chrome.  In which case, you 
would provide it with Java.

> Can I manipulate the element DOM tree in Java?

Yes, you can use JavaXPCOM with the Eclipse-embedded browser.  See this 
SWT FAQ item (http://www.eclipse.org/swt/faq.php#howusejavaxpcom) for 
info and an example.

> But I don't know whether there're some limits or drawbacks.

With JavaXPCOM, for the most part, anything that you can do in 
JavaScript, you should be able to do in Java.


javier pedemonte