discuss-gnustep
[Top][All Lists]
Advanced

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

Re: UIKit?


From: David Chisnall
Subject: Re: UIKit?
Date: Sat, 2 Jan 2010 18:03:54 +0000

On 2 Jan 2010, at 16:53, hns@computer.org wrote:

Unfortunately, it isn't. The main reason is that iPhone Apps don't use
GUI (AppKit) but UIKit (which is similar but more a cousin than a
twin) and heavily rely on CoreGraphics, CoreAnimation and OpenGL-ES.
Neither API is available through GNUstep or mySTEP.

Not true. We have Opal, currently in Étoilé svn, which is an implementation of CoreGraphics. Gregory was getting the original author to sign copyright assignment so that we could move it upstream to GNUstep, but I'm not sure what the status of this is.

Eric has been working on this over Christmas and has now implemented things like CGLayer, which is used to implement the low-level bits of CoreAnimation. He's also been working on making -gui issue GC* calls instead of DPS* calls, so that we can use Opal for drawing and just leave -back handling window creation and event generation (something we discussed with Fred at the Étoilé hackathon last spring).

If this is completed and merged then we will be in a good place to implement CoreAnimation in -gui and implement UIKit.

OpenGL-ES is supported by Gallium3D and should show up in X.org soon.

So what are your ideas/plans? Should we start working on it? Who would
be interested in using it and developing?

I've not looked at UIKit in great detail, but it did seem very similar to AppKit when I did look at it. I think we should be able to reuse a lot of the code from out AppKit into a new UIKit. A few things are not used at all by UIKit (e.g. NSCell), but UIKit and AppKit are very similar in other places.

It would be really great if we could port iPhone apps to other platforms with GNUstep, so this is something I'd be interested in seeing, but at the moment it's not high up my list of priorities to work on.

Note that UIKit makes heavy use of ObjC2, so any implementation will almost certainly need to use clang and libobjc2, both of which are close to being release-ready but need testing. I'm now using both for Étoilé development, but no one outside of Étoilé has sent me any testing results from libobjc2 and I've only had one clang bug filed for ObjC code generation (by someone who isn't using GNUstep at all, in fact, related to nested @try statements and now fixed).

David

-- Sent from my brain




reply via email to

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