> So would I be right in thinking that XPCOMM is a "portable language" the
As I understand it from a few days reading-up:
XPCOM (single 'M') is *not* a language. It is a language-independent
component technology which Mozilla uses to componentize various software
"modules" in a fast, efficient and cross-platform way so that Mozilla (the
browser) is inherently componentised and customisable. Components
implemented with XPCOM ("XPCOM servers") can be accessed by clients in C++
and they can also be driven from Javascript using a related Mozilla
technology (itself an XPCOM component, as I understand it) called XPConnect.
By itself XPCOM does not provide "skins" - this is equally to do with
another Mozilla technology called XUL, which allows user interfaces to be
constructed from an HTML-like text language. However user interfaces have to
interact with the underlying application code, and XUL does this by
including Javascript which can respond to events and invoke functionality on
XPCOM-based objects as described above.
XPCOM is not the same as Microsoft's COM (MS-COM), but it is fairly close.
The main difference is that XPCOM does not (yet!) support generic
marshalling of parameters, which is needed when objects are to cooperate
across process and computer boundaries. Hence, for the moment, XPCOM works
only within one process, so your XPCOM objects have to live in shared
libraries (DLLs, on Win32).
The main advantages of XPCOM over MS-COM are that being more lightweight it
is very efficient, it is cross-platform (in that you can build XPCOM,
XPConnect and your own objects based on them on any platform supported by
Mozilla generally) and, best of all, it is open source.
The main disadvantages are the lack of cross-process/computer support noted
above, that there are issues with using C++ exceptions (which Mozilla does
not support generally) and that it is not supported by developer tools in
which MS-COM support is ubiquitous (eg. Visual Basic) so you generally write
code for it rather then visually building things.
If you want to learn about XPCOM just search mozilla.org and you'll find
documentation and examples. Reading about MS-COM is also useful due to the
similar functionality between the two. There's also a nice tutorial on IBM's
developer site (don't have URL at the moment, but will post).
Hope that helps,
Cheers,
Chris
"Steve" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Pete Collins wrote:
>
>
>
> > So these implementations are
> > transparent to the developer using these interfaces. Just as java
> > virtual machines are implemented separately across various platforms.
>
> So would I be right in thinking that XPCOMM is a "portable language" the
> way early C was meant to be before platform specific variations began
> creeping in? In other words you have one language, you write mozilla
> aps in one code base, and the you just recompile that code base once for
> each platform you want to run your app on?
>
>
>
> >> I also don't understand what is meant by a "web application" that
people
> > > beyond mozilla would use mozilla technology for.
> >
> > I never read this article but i know the author. He is a web designer.
> > I believe he is referring to the fact that a certain level of
> > application development and application UI or chrome can be created
> > using web technologies.
>
> So by "non mozzilla developers leveraging mozilla xp technology" this
> person means ordinary developers having the opportunity to easily make
> more skins/themes for customized versions of netscape, or maybe a
> customized pop up window or something like that?
>
> Steve
>
>
>
> Steve's Home Page:
> http://www.geocities.com/beforewisdom/
>
>
> BLUNDERS OF THE WORLD THAT LEAD TO VIOLENCE:
> Wealth without work,
> pleasure without conscience,
> knowledge without character,
> business without morality,
> science without humanity,
> worship without sacrifice,
> politics without principle.
> - Mohandas Gandhi