discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: General question about GNUStep


From: Simeon Mitev
Subject: Re: General question about GNUStep
Date: Wed, 26 Aug 2009 00:02:34 +0200
User-agent: Thunderbird 2.0.0.23 (Macintosh/20090812)

Nice spot Michael!

It is really nice that during development I could extend the messages (protocol) without forcing the old version running client applications first to update and then allow then to connect to the server.

Having compiled reader and writer is much better for me than reflection, which is also an option and possible with PBs.

There are ports of the library for many languages including Java, C++, Objective C and more, so the library and the protocol are not language or platform depended.

Cool.

// Simeon


Hi,

In my experience, the simplest (one-liner!) and robustest solution was
indeed to send plist-serialised data over the wire -- both platforms
(GNUstep and OSX) support fast serialization/deserialisation to plist,
and as an added benefit this is easier to debug as the data is sent in
clear, and in a notably more efficient way than XML do :)
you can find some infos on the architecture I used in
http://xdev.org/thesis/phd-thesis-nicolas-roard.pdf

Note that writing a plist reader in java or C++ is quite simple.
Another possibility is to use XML-RPC, which has implementation
everywhere. But this is quite verbose (even if it's far from the
abomination that SOAP is).

You also might consider using Google Protocol Buffers: http://code.google.com/p/protobuf/

Protocol Buffers defines an efficient format for exchanging data over a network. The great thing about Protocol Buffers is that you can add or remove fields without breaking the protocol.

You define the messages in an IDL like syntax:

message Person {
  required int32 id = 1;
  required string name = 2;
  optional string email = 3;
}

There is also an Objective C implementation:
http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers

I don't know if it works with Gnustep though.

Greetings,
Michael


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep






reply via email to

[Prev in Thread] Current Thread [Next in Thread]