-4

How do cross platform files communicate between each other? I got a chance to go through thunderbird code and I found whole framework comprised of javascript, python, xul and c++ files.

I am surprised to see whole framework. Can anyone guide me about how they communicate with each other?

What is happening when we execute "make" commands?

Mistalis
  • 17,793
  • 13
  • 73
  • 97
Jimit
  • 2,201
  • 7
  • 32
  • 66
  • I like this question as it's a question that i often asked myself not too long time ago. But, i feel this question is a bit broad. They can basically just communicate with a file, a connection or anything. – aIKid Jan 22 '14 at 15:28
  • 1
    Read about http://en.wikipedia.org/wiki/Application_programming_interface – rullof Jan 22 '14 at 15:33
  • Almost certainly though C++ API(s). See (for example) [Simplified Wrapper and Interface Generator](http://www.swig.org/). – Elliott Frisch Jan 22 '14 at 15:34

1 Answers1

4

Mozilla uses XPCOM technology to integrate components written in different languages.

XPCOM is a cross platform component object model, similar to Microsoft COM. It has multiple language bindings, allowing XPCOM components to be used and implemented in JavaScript, Java, and Python in addition to C++. Interfaces in XPCOM are defined in a dialect of IDL called XPIDL.

XPCOM itself provides a set of core components and classes, e.g. file and memory management, threads, basic data structures (strings, arrays, variants), etc. The majority of XPCOM components are not part of this core set and are provided by other parts of the platform (e.g. Gecko or Necko) or by an application or even by an extension.

Basilevs
  • 22,440
  • 15
  • 57
  • 102