Over the last few months we have gone from having a single screen size (320×480) to three screen sizes (1024×768 and 960×640 for the ipad and iphone 4, respectively). So while developers have had a relatively easy time targeting ipod and iphone architectures with their apps, things have become considerably more complicated.
So the question is, what is a developer to do? Do we continue developing exclusively for the 320×480 and let the ipad and iPhone 4 do their upscaling tricks? Do we fork code bases and make apps which can take advantage of all the extra screen real estate? Or do we try and maintain a single codebase and use a strategy to include resources for each platform?
I’ve been talking to a few developers down here at WWDC, and there is no consensus – opinion is split. Some have stated that having gone down the road of a single code base, the code reuse was too difficult, relying on too much convention, which is inevitably abused by at least one member of a multi-member team.
On the other side, a very nice approach I have seen was to specify your NSMainNibFile as normal in your Info.plist, but change this property in the build targets depending on architecture. So we have nibs specific to ipad and to iphone, specified by the info.plist. In each mainwindow, you can specify different appdelegate classes, which can then load different resource sets. Similarly, you can categorize your controllers if they need to be specific to an architecture, and then include the categorized classes in your target.
I have to think we will try to maintain a single code base as we move forward.Read More
Ok, so that’s not a big surprise but there are some interesting graphs over at apple insider. Sadly educational apps don’t even merit a mention (unless those are classified under productivity).Read More