Entries in JavaScript (1)

Tuesday
30Mar2010

SXSW Interactive: Building iPhone apps with HTML, CSS and JavaScript

Sunday, March 15, 2010

About a year ago, I was unemployed and tried to figure out how to best capitalize on my newfound free time. I purchased a book called Learn C on the Mac with aspirations to master it and move quickly to a book about Objective-C. Then, I figured, I'd pick up a book on iPhone programming and crank out award-winning games and bestselling utilities.

Then I sat down to actually learn C. Let's just say I discovered that it wasn't for me.

Instead, I focused on blogging, podcasting, writing, freelance projects, contract work, and grad school. The idea of becoming an iPhone (or iPad for that matter) programmer left my brain.

During Jonathan Stark's presentation, he demonstrated how the building blocks of iPhone web apps, built with HTML, CSS, and JavaScript, can create some pretty fantastic apps when built with jQuery and jQTouch. Suddenly, iPhone programming looked much more accessible to me.

In the weeks before the session, I saw some online demos of apps created with these tools. I'd even heard about PhoneGap, the platform that allows web-based apps to be wrapped up and compiled into native apps with Xcode. But Stark put all the pieces together in front of a live audience, built a simple iPhone app using tools, languages, and frameworks that I already know and use, and tested it using the iPhone simulator that comes with the SDK.

jQuery and jQTouch, in conjunction with Phone Gap, are much more powerful and robust tools than I had realized. My view of the process was too rigid. I don't have to learn Objective-C in order to build the apps I want. I can build and publish apps with the skills I already have.

Plus, PhoneGap can build a web app for other mobile platforms, including Android. In other words, I just need to build the app with HTML, CSS, and JavaScript once, then build the native app for multiple platforms. Totally slick.

Sure, this method doesn't cover all programming scenarios. Some apps, especially games, demand higher-level programming in Objective-C. But the beauty of PhoneGap is that Objective-C code can run alongside the web app, so features can be added as necessary.

Even though I was aware of all the tools needed to program for the iPhone with HTML, CSS, and JavaScript, watching Stark put it all together looked a little like magic.