10

I am an Objective-C newbie, who still does not have a Mac, but still I want to practice the language. I heard that in the non-Mac world, GNUstep offers a good alternative to Cocoa, and can be used as a lerning tool for new objective-c developers. My question is, since GNUstep ports a lot of the Cocoa classes, what are the chances of me porting an iOS game + its development framework. I am talking about Canabalt for iOS (https://github.com/ericjohnson/canabalt-ios) which is based on the iOS version of the Flixel framework. I would like to know whether there is even the slightest chance of being able to port & run this game on windows using GNUstep. Remember, that this is entirely for educational purposes, so please, do not look for any practical value in it, besides me getting better with ObjC :)

I guess that it should be technically possible. In general, what are the chances of porting any iOS app to Win using GNUstep?

xantrus
  • 1,975
  • 1
  • 22
  • 44

3 Answers3

13

I think you'd be better off porting a Mac application than an iOS application. While the iOS frameworks (UIKit mostly) are close to those of Mac OS, they are still quite different. Beyond the code differences there are HUGE paradigm shifts between iOS and Mac, in the limited screen space and the lack of a mouse.

GNUstep is close to Cocoa, so you'd be able to port a Mac app with a bit of work, but not so much an iOS app.

d11wtq
  • 34,788
  • 19
  • 120
  • 195
  • Well, solving problems like these are just part of the porting experience. It does not come without work. – Johan Kotlinski Jan 15 '11 at 00:43
  • I agree, I just got the impression the OP assumed GNUstep ~ UIKit ;) – d11wtq Jan 15 '11 at 00:45
  • Maybe, but GNUstep has other useful stuff, like NSString and OpenGL support. – Johan Kotlinski Jan 15 '11 at 01:22
  • d11wtq is exactly correct; both Cocoa & GNUStep were directly derived from OpenStep's user interface APIs (the AppKit). iOS uses a very different user interface framework (UIKit). While the Foundation APIs are the same between the three, the GNUStep is much **much** closer to Cocoa than either is to UIKit. – bbum Mar 14 '11 at 05:14
  • @kotlinski: you're right that problems are part of the porting experience, but the differences between iOS and MacOS are significant enough that it's more than porting--it's redesign. Probably more than the OP had in mind. – Chris Cleeland Mar 18 '11 at 01:51
4

If you do get serious about cross-platform objective-C you may want to check out cappuccino and cocotron. They are both nods in this direction. If you don't have a mac that's still going to be a bit tougher though. A used mac mini might go a long way towards happiness here.

Good luck!

slycrel
  • 4,275
  • 2
  • 30
  • 30
2

I sure think it is possible. Only question is if you think it will be worth the time spent. It's hard for me to give a time estimate here, since I don't know how good you are. Best way to find out probably is to just dive into it. Don't worry too much about success - if it seems too boring or hard, just do something else.

Johan Kotlinski
  • 25,185
  • 9
  • 78
  • 101