Building iPhone Apps with HTML, CSS, and JavaScript

Making App Store Apps Without Objective-C or Cocoa


If you know HTML, CSS, and JavaScript, you already have what you need to develop your own iPhone apps. With this book, you'll learn how to use these open source web technologies to design and build apps for both the iPhone and iPod Touch. Buy the print book or ebook or purchase the iPhone App.


This book uses the Open Feedback Publishing System (OFPS), an O'Reilly experiment that tries to bridge the gap between private manuscripts and public blogs.

Next to every paragraph, there is a link you can use to comment on what you're reading. We are grateful for any feedback you have: questions, comments, suggestions, and corrections are all welcome and appreciated.

Now web designers and developers can join the iPhone app party without having to learn Cocoa's Objective-C programming language. It's true: You can write iPhone apps quickly and efficiently using your existing skills with HTML, CSS, and JavaScript. This book shows you how with lots of detailed examples, step-by-step instructions, and hands-on exercises.

  • Learn how to build iPhone apps with standard web tools

  • Refactor a traditional website into an iPhone web app

  • Hook into advanced iPhone features (e.g. accelerometer, geolocation, vibration, and sound) with JavaScript

  • Do most of your development with the operating system of your choice

Learn more and order at the book's catalog page or watch an introductory screencast.


To Erica—and that little jumping bean in her tummy.

Who Should Read This Book
What You Need to Use This Book
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
1. Getting Started
Web Apps Versus Native Apps
What Is a Web App?
What Is a Native App?
Pros and Cons
Which Approach Is Right for You?
Web Programming Crash Course
Intro to HTML
Intro to CSS
Intro to JavaScript
2. Basic iPhone Styling
First Steps
Preparing a Separate iPhone Stylesheet
Controlling the Page Scaling
Adding the iPhone CSS
Adding the iPhone Look and Feel
Adding Basic Behavior with jQuery
What You’ve Learned
3. Advanced iPhone Styling
Adding a Touch of Ajax
Traffic Cop
Simple Bells and Whistles
Roll Your Own Back Button
Adding an Icon to the Home Screen
Full Screen Mode
Changing the Status Bar
Providing a Custom Startup Graphic
What You’ve Learned
4. Animation
With a Little Help from Our Friend
Sliding Home
Adding the Dates Panel
Adding the Date Panel
Adding the New Entry Panel
Adding the Settings Panel
Putting It All Together
Customizing jQTouch
What You’ve Learned
5. Client-Side Data Storage
localStorage and sessionStorage
Saving User Settings to localStorage
Saving the Selected Date to sessionStorage
Client-Side Database
Creating a Database
Inserting Rows
Selecting Rows and Handling Result Sets
Deleting Rows
What You’ve Learned
6. Going Offline
The Basics of the Offline Application Cache
Online Whitelist and Fallback Options
Creating a Dynamic Manifest File
The JavaScript Console
The Application Cache Database
What You’ve Learned
7. Going Native
Intro to PhoneGap
Using the Screen’s Full Height
Customizing the Title and Icon
Creating a Startup Screen
Installing Your App on the iPhone
Controlling the iPhone with JavaScript
Beep, Vibrate, and Alert
What You’ve Learned
8. Submitting Your App to iTunes
Creating an iPhone Distribution Provisioning Profile
Installing the iPhone Distribution Provisioning Profile
Renaming the Project
Prepare the Application Binary
Submit Your App
While You Wait
Further Reading
Site last updated on: November 17, 2010 at 10:11:32 AM PST