Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The easiest way to implement distributed objects in Cocoa is with, well, <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DistrObjects/DistrObjects.html#//apple_ref/doc/uid/10000102-SW1" rel="nofollow">Distributed Objects</a> (or on Mountain Lion, <a href="http://developer.apple.com/library/mac///#/documentation/Foundation/Reference/NSXPCConnection_reference/translated_content/NSXPCConnection.html" rel="nofollow">XPC</a>). This really is a very straightforward way to get RMI (<a href="http://thaesofereode.info/clocFAQ/#cocoa-do" rel="nofollow">here's a full example of DO</a>). However these protocols are proprietary and can't be used with non-Apple platforms; while GNUstep does use DO and I've used their implementation successfully on cross-platform projects, their protocol is not compatible with Apple's. So you'd either have to use GNUstep in its <code>gnu-gnu-gnu</code> library combo on Mac OS X instead of Cocoa (which is not something I'd recommend), or choose a different approach.</p> <p>CORBA is one such "different approach". The main differences between CORBA and DO are:</p> <ul> <li>in CORBA, you define the messaging interface using IDL which is used to generate ObjC. With DO, you use Objective-C directly.</li> <li>CORBA doesn't support "duck typing"; it's strongly typed, so every method you intend to use remotely <em>must</em> be specified in the IDL. This also means that any method you do use is guaranteed to be implemented at the other end (of course the other end isn't guaranteed to be available in any RMI implementation).</li> <li>most of CORBA's user base isn't on ObjC (Java and C++ are more common).</li> <li>CORBA has wider platform support.</li> <li>CORBA implementations don't need to be in ObjC.</li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload