Chameleon - UIKit for Mac development
chameleonproject.org
chameleonproject.org
The ability of a stopgap measure such as this is a good way to let established iOS players test the Mac waters without a huge investment.
I think the same thing occurs on the desktop. Many times I use iPad applications and wish they were available on the desktop. iPad applications especially I think can work very well on the desktop due to the large display.
But don't take my work for it. Have a look at the streamtome app on the mac app store. The interface mimics that of the iPad. I am not sure if it uses chameleon but there's a good chance I would guess.
Then they'll have a very easy time picking up AppKit — certainly much easier than someone coming from any other platform would have, mobile or desktop. The lineage from AppKit is supposed to be one of the advantages of UIKit. These frameworks are very similar.
UIKit was written, from the ground up, by people who either worked on AppKit or worked with AppKit, with full access to the AppKit source base. They share almost all design patterns, and some source code. UIKit is clearly based on AppKit.
Pervasive use of layers is indeed a difference. That's hardly the only thing interesting about either framework, though.
I've worked on many iOS and Mac apps. I'm honestly not sure how anyone can claim AppKit and UIKit are essentially the same.
The frameworks are not identical, but to say they're not related… they only look wildly different if you're focusing in incredibly closely. If you consider .Net, or Java, or Rails, or GTK, or almost anything else, the differences between AppKit and UIKit are miniscule.
Your examples of delegates, responders, targets etc are concepts - and indeed UIKit and AppKit are both built around the same concepts.
The implementations of both is quite different however, to the point that porting something of complexity from UIKit to AppKit involves a lot of tedious changes - or worse: creation of abstraction layers if the codebase is to be maintained for both apps.
Actually, they're incredibly similar in terms of class hierarchy, design patterns (e.g., delegates, data sources, target/action for the most part), graphics principles (points vs pixels), use of various Foundation and CoreGraphics data structures, etc.
And yes, Core Animation works quite well with layer-backed views in AppKit, which is where it started.
It's easy to point out specific differences between these frameworks, but I think any developer who's already learned one would object to the underestimation of his/her intelligence that would be implied by comparing the subsequent difficulty in moving to the other with that of any other non-Apple platform SDK.
Perhaps you'd like to point out another SDK that is more similar to AppKit than UIKit?
The decision to spend considerable time to even test the Mac market is a huge barrier to entry. This would be a good stepping stone to prove that there is an audience there.
Also, not everything is brand based. For many things, removing the old thing from the store completely obliterates all mention ever made of it (as it wasn't the sort of thing that gets press attention anyhow).
Not everyone is selling apps that make 6-7 figure incomes. Many people are selling multiples that rake in 4-5 and doing quite nicely with that, and with no marketing.
Unfortunately the UIKit implementation isn't there yet -- there's no NIB loading, table views aren't editable, etc -- though what is done is very impressive. Will be watching this one.
There are way more iOS developers than there are Mac developers, and many more flock to the iOS platform every day. Surely, Apple has some incentive to make it easy for iOS developers to make software for the Mac.
From the article:
Apple already has a version of UIKit that runs on the Mac:
every time you launch the iOS Simulator,
you're using that framework.Great, so they're trying to position themselves to take credit for what may be inevitable.
In regards to your question, cynicism involves a belief about someone's motivations, and I'm only going off of what they have put in black & white: that it would be so awesome if they were able to repeat the most spectacularly dubious credit-taking in iPhone history. I realize that those 4 months between the availability of the first iPhone and the announcement of the official SDK were agonizing and suspenseful, but I don't believe for a second that the most notoriously secretive tech company didn't already have an SDK in the works. If I were iconfactory, I wouldn't labor to connect myself with that event.
I'm sure lots of things are inevitable too, doesn't mean you don't laud the person who actually brings it about.