discuss-gnustep
[Top][All Lists]
Advanced

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

Re: question about low availability of Mac OS X applications that has Gn


From: Richard Frith-Macdonald
Subject: Re: question about low availability of Mac OS X applications that has GnuStep edition
Date: Tue, 25 Jan 2011 10:02:25 +0000

On 25 Jan 2011, at 09:33, Ivan Vučica wrote:

> Biggest challenge is when one has to delve into the dungeons of OS-specific 
> programming. Despite POSIX's existence, each platform has slightly different 
> ideas about how stuff works. An example that comes to mind is asynchronous 
> sockets - different even between POSIX operating systems. Even something so 
> basic like select() behaves different on Wine than on Windows (making a 
> freely available, but closed, Diablo2 realm server not work).

But ... that shouldn't really be a big issue ... you can write one set of 
socket code for OSX and another set for GNUstep since the GNUstep APIs should 
be hiding the operating system dependencies from you.
Basically, you use NSStream in both cases, but on OSX you drop to direct socket 
calls to set up the connections because the OSX NSStream API is not rich 
enough, while on GNUstep you use the extensions to the NSStream API to set up 
the connections.
 
> There are also things I'm not sure GNUstep supports (I did not look yet) but 
> which, with invasion of iOS developers onto the Mac platform, are bound to 
> become more popular, stuff like Bonjour.

GNUstep has NSNetServices (Bonjour), but for sure there are things it does not 
have.  We welcome contributions to fill in any gaps.  However, the fact that 
there are and always will be gaps does not mean that the vast majority of 
funtionality is already provided and porting is therefore immensely easier than 
it might otherwise be.

> Incompatibilities in underlying platforms are not solvable by using bytecode, 
> which any .Net-developer-turned-Mono-developer that used PInvoke can attest 
> to.

Sure ... but the point of GNUstep is to provide cross-platform APIs etc ... so 
it *does* minimise the trouble with porting ... most of your code should use 
the Cocoa APIs, and GNUstep provides additions for the common cases where the 
Cocoa APIs are not sufficient (and we can always add to that).

Porting is always extra ... but GNUstep lowers the boundary in a major way.   
Unfortunately that still doesn't necessarily mean that people consider porting 
worth the effort. 


reply via email to

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