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. _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
