There’s no denying it: Apple’s iPhone is the hotness. I wouldn’t be surprised if at least half the people reading this article own one. It has rapidly growing market penetration, and a user interface that is more graphic-friendly than its predecessors. The combination of which makes it ideal for designers wanting to get into mobile application or targeted website development.
Developing applications or optimized websites appears intimidating on first glance, but with web design experience, a bit of iPhone specific knowhow, and some help from smarter people than me, it’s a tameable beast.
I’m working on an application in my off hours, and have stumbled through figuring out what works and what doesn’t. By no means would I consider myself an expert, but I’ve taken my web development knowledge and have been able to make significant progress with the help of many of the tools listed below.
Websites & Web Applications
Consider this beautiful fact: if you’re designing and developing specifically for the iPhone, you only have to worry about one browser. And worry isn’t really the right word. You get to work with just one browser. As a bonus, it’s the most (?) advanced browser when it comes to taking advantage of HTML5 and CSS3 specifications. Perhaps most importantly, you never have to pull your hair out worrying about the devil Internet Explorer.
“Fantastic!” you say? Yes, fantastic. Now, what do you need to know to help you along this path? Come along my friend, and see what there is to see.
Understanding CSS3 & WebKit
A great primer on what’s possible with WebKit, what different elements look like, and how they will function. As with most of these previews, it’s best to view the site with Safari, but there are screenshots if that’s not available on your machine.
jQTouch
For those with any HTML, CSS, and jQuery experience, this is the most understandable system of code to work with. As of this article posting, it’s still in Alpha release state, but you can download it and poke around in the examples to see what’s going on. After what appeared to be a bit of a lull in the development, Outpost, has been updating the new progress via Twitter.
UiUIKit (Universal iPhone UI Kit)
A CSS & HTML framework that makes web app prototyping nice and simple. Plenty of examples of what can be done with CSS3 and WebKit.
WebKitbits
Another gem from David Kaneda, this blog is has a plethora of resources related to CSS, HTML5, and other the powerful WebKit browser engine.
Native Applications
Learning Objective-C is not high on my to-do list at the moment. It’s a very different feel from type of code we see as web designers and developers. However, over the past year or so, the demand for Objective-C programmers has been insane. If you’re thinking of picking up a new language and have the right mentality for that kind of work, I’d highly recommend it.
For the rest of us that lack the Objective-C fu, but have web development experience, all hope is not lost in the quest for native iPhone development. With a combination of your existing CSS, HTML, and Javascript knowledge, it is possible to use frameworks to create native applications. Oh, and you’ll need a Mac with Xcode installed (it’s a part of the OS install disc in the “Optional Installs” folder - or something like that) and a copy of the iPhone SDK, which requires registration with the iPhone Developer Center (there’s a free option).
PhoneGap
Born out of iPhone Dev Camp in San Francisco, PhoneGap has been described of the Adobe AIR for mobile app development. It’s an HTML, CSS, and Javascript framework. One of the really cool ideas is the ability to make your app available across iPhone, Android, and Blackberry platforms with minimal rework.
I started out using this framework for my app, but ran into one small problem. The footer bar I created would move up the screen when the user enters text on a text field (really wish I wasn’t keeping my app a secret, else I’d show an example).
QuickConnect
Possibly the most robust and in-depth native support of any of the frameworks I’ve looked at. QuickConnect has a few dozen examples of what’s possible. It’s able to create native Objective-C footers, which for me, is a huge bonus. It’s a much more complex system to figure out than PhoneGap, but also appears to be able to do quite a bit more.
Similar to PhoneGap, QuickConnect promotes the idea that you can tap into native features of iPhone and Android (PhoneGap also promotes Blackberry). See the applications roadmap for full details on platform support. I haven’t looked into how this works, as it seems the code is very platform specific, so don’t take my word for it.
Big Spaceship’s iPhone 101 : Pt I & II
The logistics of getting an app ready to sell in the App Store are – in a best case scenario – challenging. Big Spaceship has put together a great two part series explaining Certificates, Provisioning, Submitting your app, and more. It’s a great read. Super informative. I just wish I’d ready Part 1 before I started on my app. Following their lead is much easier than fumbling through the process yourself; believe me.
Basically, it all comes down to this...
With well over 50,000 apps already in the App Store, there is by no means a guarantee your app will make you millions, or even gain traction, but it’s still a really exciting time to learn a fun and exciting new skill. You'll probably pull some hair out and definitely lose sleep, but you know you can't resist creating the next great fart simulator.
Edit: This just in...there's a new system that just came available that appears to be heads and shoulders above what PhoneGap and QuickConnect offer. A company by the name of Appcelerator launched a private beta for a beautiful project called Titanium Mobile. This is a true front end web code to native Objective-C solution. I highly recommend it. I'm testing it out now and have been very pleased with what I've seen. There's actual support, forums, and it's Open Source. Mark my words: this one's gonna be huge.






