Re: predefined macro iOS vs OS X
Re: predefined macro iOS vs OS X
- Subject: Re: predefined macro iOS vs OS X
- From: Maxthon Chan <email@hidden>
- Date: Sun, 18 Aug 2013 02:57:06 +0800
Well I chose GNUstep for its longer history (it predates Cocoa, even OpenStep - in fact it is the second implementation of Application Kit, what would later become the libraries we now know as Foundation and AppKit, after NeXT.) and better ARC support. They have an impressive libobjc that combined what Apple and LLVM folks called libobjc4 (Objectve-C 2 runtime with ARC support) and libBlocksRuntime into one unit, and supports GCD very well. Also, LLVM folks ported what Apple contributed in LLDB debugger to support their runtime too.
Also, they have rewrites of Core Foundation, Core Data, Core Graphics, WebObjects (in Objective-C) and more.
On Aug 18, 2013, at 1:15, Marcel Weiher <email@hidden> wrote:
>
> On Aug 17, 2013, at 18:03 , Maxthon Chan <email@hidden> wrote:
>> On Aug 17, 2013, at 23:52, Marcel Weiher <email@hidden> wrote:
>>> On Aug 16, 2013, at 19:04 , Kyle Sluder <email@hidden> wrote:
>>>
>>>> Stop using NSRect in your method prototypes and just use CGRect.
>>>
>>> This is certainly pragmatic, effective advice.
>>>
>>> <PetPeeve>
>>>
>>> However…if you care as much about dependency management as I do (and chances are you don’t), and don’t have a direct dependency on CoreGraphics in that code (and chances are you do), then this is slightly stomach-churning, in addition to pragmatic and effective.
>>>
>>> Pulling in a dependency on CoreGraphics just to get those types is awful, in addition it makes it harder to make code that works on both Mac OS X and iOS. After going back and forth on this for quite some time, I decided to standardize on the Foundation types and have a tiny compatibility layer, which you can find on github: https://github.com/mpw/MPWFoundation/blob/master/Classes/PhoneGeometry.h
>
>> I actually got one step (sorry for the pun) ahead as limited to what Cocoa’s Foundation and GNUstep’s Base have in common. That allows me to create code-compatible programs that builds and runs under both OS X (or iOS) and Linux. (In my company everything starts off in Objective-C and now with this limitation the porting cost is dropping drastically.)
>>
>> Example: CGIKit: https://github.com/xcvista/CGIKit (a FastCGI library for Objective-C, CGIKit.xcodeproj will build on OS X with embedded libfcgi and GNUmakefile will build on Linux with GNUstep with external libfcgi.)
>
> Very cool, and I am definitely with you, though I have to admit I haven’t really kept in sync with GNUStep ( https://github.com/mpw/MPWFoundation/blob/master/GNUmakefile is a bit out of date), working more with Cocotron to get Linux compatibility.
>
> Cheers,
>
> Marcel
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden