Mobile App Books

Stark, J. (2010) Building iPhone Apps with HTML, CSS, and JavaScript: Making App Store Apps Without Objective-C or Cocoa, O’Reilly Media, Inc.

Download Example Code:
Chapter 2 (ZIP 58KB)
Chapter 3 (ZIP 78KB)
Chapter 4 (ZIP 57KB)
Chapter 5 (ZIP 59KB)
Chapter 6 (ZIP 139KB)
Chapter 7 (ZIP 7,768KB)

Companion Web Site: https://jonathanstark.com/iphone-book

“The future of mobile development is clearly web technologies like CSS, HTML and JavaScript. Jonathan Stark shows you how to leverage your existing web development skills to build native iPhone applications using these technologies.”
–John Allsopp, author and founder of Web Directions
“Jonathan’s book is the most comprehensive documentation available for developing web applications for mobile Safari. Not just great tech coverage, this book is an easy read of purely fascinating mobile tidbits in a fun colloquial style. Must have for all PhoneGap developers.”
— Brian LeRoux, Nitobi Software
It’s a fact: if you know HTML, CSS, and JavaScript, you already have the tools 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 the iPhone and iPod Touch on the platform of your choice-without using Objective-C or Cocoa.
Device-agnostic mobile apps are the wave of the future, and this book shows you how to create one product for several platforms. You’ll find guidelines for converting your product into a native iPhone app using the free PhoneGap framework. And you’ll learn why releasing your product as a web app first helps you find, fix, and test bugs much faster than if you went straight to the App Store with a product built with Apple’s tools.

  • Build iPhone apps with tools you already know how to use
  • Learn how to make an existing website look and behave like an iPhone app
  • Add native-looking animations to your web app using jQTouch
  • Take advantage of client-side data storage with apps that run even when the iPhone is offline
  • Hook into advanced iPhone features — including the accelerometer, geolocation, and vibration — with JavaScript
  • Submit your applications to the App Store with Xcode

Chapter 1: Getting Started;

1.1 Web Apps Versus Native Apps;

1.2 Web Programming Crash Course;

Chapter 2: Basic iPhone Styling;

2.1 First Steps;

2.2 Adding the iPhone CSS;

2.3 Adding the iPhone Look and Feel;

2.4 Adding Basic Behavior with jQuery;

2.5 What You’ve Learned;

Chapter 3: Advanced iPhone Styling;

3.1 Adding a Touch of Ajax;

3.2 Traffic Cop;

3.3 Simple Bells and Whistles;

3.4 Roll Your Own Back Button;

3.5 Adding an Icon to the Home Screen;

3.6 Full Screen Mode;

3.7 What You’ve Learned;

Chapter 4: Animation;

4.1 With a Little Help from Our Friend;

4.2 Sliding Home;

4.3 Adding the Dates Panel;

4.4 Adding the Date Panel;

4.5 Adding the New Entry Panel;

4.6 Adding the Settings Panel;

4.7 Putting It All Together;

4.8 Customizing jQTouch;

4.9 What You’ve Learned;

Chapter 5: Client-Side Data Storage;

5.1 localStorage and sessionStorage;

5.2 Client-Side Database;

5.3 What You’ve Learned;

Chapter 6: Going Offline;

6.1 The Basics of the Offline Application Cache;

6.2 Online Whitelist and Fallback Options;

6.3 Creating a Dynamic Manifest File;

6.4 Debugging;

6.5 What You’ve Learned;

Chapter 7: Going Native;

7.1 Intro to PhoneGap;

7.2 Installing Your App on the iPhone;

7.3 Controlling the iPhone with JavaScript;

7.4 What You’ve Learned;

Chapter 8: Submitting Your App to iTunes;

8.1 Creating an iPhone Distribution Provisioning Profile;

8.2 Installing the iPhone Distribution Provisioning Profile;

8.3 Renaming the Project;

8.4 Prepare the Application Binary;

8.5 Submit Your App;

8.6 While You Wait;

8.7 Further Reading;


Ray, J. and Johnson, S. () Sams Teach Yourself iPhone Application Development, Sams Publishing

A more recent edition of this book is available

Sams Teach Yourself iPhone(R) Application Development Second Edition John Ray Figures and code appear as they do in Xcode Covers iOS 4.0 and up, and iPhone 4 Additional files and updates available online In just 24 sessions of one hour or less, learn how to build powerful applications for today’s hottest mobile device: the iPhone! Using this book’s straightforward, step-by-step approach, you’ll master every skill and technology you need, from setting up your iPhone development environment to building great user interfaces, sensing motion to writing multitasking applications. Each lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success! Step-by-step instructions carefully walk you through the most common iOS development tasks. Quizzes and Exercises at the end of each chapter help you test your knowledge. By the Way notes present interesting information related to the discussion. Did You Know? tips offer advice or show you easier ways to perform tasks. Watch Out! cautions alert you to possible problems and give you advice on how to avoid them. Printed in full color–figures and code appear as they do in Xcode * Covers iOS 4.0 and up * Learn the features of Xcode 3. 2 and Interface Builder * Prepare your system and iPhone for efficient development * Get started quickly with Apple’s Objective-C and Cocoa Touch * Understand the Model-View-Controller (MVC) development paradigm * Design highly usable applications with interactive widgets and web-connected interfaces * Use Table views to navigate structured data * Build rotatable and resizable user interfaces * Read and write data and create System Setting plug-ins * Use the iPhone’s media playback and recording capabilities * Create map and location-based (GPS) services * Sense motion and orientation with the iPhone’s accelerometer and the iPhone 4 gyroscope * Create universal applications that run on the iPhone and iPad * Write background-aware multitasking applications * Distribute your applications through the App Store http://teachyourselfiphone.com

Table of Contents

1. Preparing Your System and iPhone for Development
2. Exploring the Development Environment
3. Discovering Objective-C: The Language of Apple Platforms
4. Inside Objective-C and Cocoa Touch – Where the Rubber Meets the Road
5. Understanding Model-View-Controller
6. Creating a Simple Application Input and Views
7. Extending the Application Interface with Widgets and WebViews
8. Getting the User’s Attention
9. Implementing Multiple Views with Tab Bars
10. Navigating Data Using Table Views
11. Reading and Writing Data
12. Building Rotatable and Resizable User Interfaces
13. Generating Graphics
14. Using Media Playback Features
15. Adding Media Recording
16. Interacting with Other Applications
17. Implementing Map and Location Services
18. Exploring iPhone Networking Services
19. Using OpenGL Graphics
20. Extending the Touch Interface
21. Sensing Movement with Accelerometer Input
22. Staying Up-to-Date with Push Notifications
23. Distributing Applications Through the App Store
24. iPhone Debugging and Optimization

Introduction HOUR 1: Preparing Your System and iPhone for Development Welcome to the iOS Platform Becoming an iOS Developer Creating a Development Provisioning Profile Developer Technology Overview Summary Q&A Workshop HOUR 2: Introduction to Xcode and the iPhone Simulator Using Xcode Using the iPhone Simulator Further Exploration Summary Q&A Workshop HOUR 3: Discovering Objective-C: The Language of Apple Platforms Object-Oriented Programming and Objective-C Exploring the Objective-C File Structure Objective-C Programming Basics Memory Management Further Exploration Summary Q&A Workshop HOUR 4: Inside Cocoa Touch What Is Cocoa Touch? Exploring the iOS Technology Layers Tracing the iPhone Application Life Cycle Cocoa Fundamentals Exploring the iOS Frameworks with Xcode Summary Q&A Workshop HOUR 5: Exploring Interface Builder Understanding Interface Builder Creating User Interfaces Customizing Interface Appearance Connecting to Code Further Exploration Summary Q&A Workshop HOUR 6: Model-View-Controller Application Design Understanding the Model-View-Controller Paradigm How Xcode and Interface Builder Implement MVC Using the View-Based Application Template Further Exploration Summary Q&A Workshop HOUR 7: Working with Text, Keyboards, and Buttons Basic User Input and Output Using Text Fields, Text Views, and Buttons Setting Up the Project Further Exploration Summary Q&A Workshop HOUR 8: Handling Images, Animation, and Sliders User Input and Output Creating and Managing Image Animations and Sliders Further Exploration Summary Q&A Workshop HOUR 9: Using Advanced Interface Objects and Views User Input and Output (Continued) Using Switches, Segmented Controls, and Web Views Using Scrolling Views Further Exploration Summary Q&A Workshop HOUR 10: Getting the User’s Attention Exploring User Alert Methods Generating Alerts Using Action Sheets Using Alert Sounds and Vibrations Further Exploration Summary Q&A Workshop HOUR 11: Making Multivalue Choices with Pickers Understanding Pickers Using Date Pickers Implementing a Custom Picker View Further Exploration Summary Q&A Workshop HOUR 12: Implementing Multiple Views with Toolbars and Tab Bars Exploring Single Versus Multi-View Applications Creating a Multi-View Toolbar Application Building a Multi-View Tab Bar Application Further Exploration Summary Q&A Workshop HOUR 13: Displaying and Navigating Data Using Table Views Understanding Table Views and Navigation Controllers Building a Simple Table View Application Creating a Navigation-Based Application Further Exploration Summary Q&A Workshop HOUR 14: Reading and Writing Application Data Design Considerations Reading and Writing User Defaults Understanding the iPhone File System Sandbox Implementing File System Storage Further Exploration Summary Q&A Workshop HOUR 15: Building Rotatable and Resizable User Interfaces Rotatable and Resizable Interfaces Creating Rotatable and Resizable Interfaces with Interface Builder Reframing Controls on Rotation Swapping Views on Rotation Further Exploration Summary Q&A Workshop HOUR 16: Using Advanced Touches and Gestures Multitouch Gesture Recognition Using Gesture Recognizers Further Exploration Summary Q&A Workshop HOUR 17: Sensing Orientation and Motion Understanding iPhone Motion Hardware Accessing Orientation and Motion Data Sensing Orientation Detecting Tilt and Rotation Further Exploration Summary Workshop HOUR 18: Working with Rich Media Exploring Rich Media Preparing the Media Playground Application Using the Movie Player Creating and Playing Audio Recordings Using the Photo Library and Camera Accessing and Playing the iPod Library Further Exploration Summary Q&A Workshop HOUR 19: Interacting with Other Applications Extending Application Integration Using Address Book, Email, and Maps! Oh My! Further Exploration Summary Q&A Workshop HOUR 20: Implementing Location Services Understanding Core Location Creating a Location-Aware Application Understanding the Magnetic Compass Further Exploration Summary Q&A Workshop HOUR 21: Building Background-Aware Applications Understanding iOS 4 Backgrounding Disabling Backgrounding Handling Background Suspension Implementing Local Notifications Using Task-Specific Background Processing Completing a Long-Running Background Task Further Exploration Summary Q&A Workshop HOUR 22: Building Universal Applications Universal Application Development Understanding the Universal Window-Based Application Template Other Universal Application Tools Further Exploration Summary Q&A Workshop HOUR 23: Application Debugging and Optimization Debugging in Xcode Monitoring with Instruments Profiling with Shark Further Exploration Summary Q&A Workshop HOUR 24: Distributing Applications Through the App Store Preparing an Application for the App Store Submitting an Application for Approval Promoting Your Application Exploring Other Distribution Methods Summary Q&A Workshop 9780672332203 TOC 9/24/2010