INTRODUCTION

WHEN APPLE RELEASED THE ORIGINAL IPHONE IN 2007, it was instantly an iconic device. No one had created such a fluid user experience based solely on touch. Using an iPhone didn’t feel like you were touching a flat piece of glass but instead felt as if you were touching and interacting with physical objects. Flipping through the albums felt like you were actually flipping through albums. Panning around a map felt like you were actually touching and moving a real map. It was truly inspiring.

At the time I was writing Windows desktop applications and had just taken over a Windows Mobile project. I was still skeptical of the iPhone and its price tag. After Apple announced the SDK and the idea of the App Store, I decided to take the plunge and teach myself how to write an iPhone app. But where would I start?

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

Luckily, I had friends who had been building OS X desktop applications for years. They organized and hosted the first iPhoneDevCamp Colorado, which was my first exposure to Objective-C and Xcode. I was a bit overwhelmed, and because everyone was new to the platform, there were no code examples around to help. Eventually, through asking many questions and learning alongside more experienced developers, I released my first iPhone app in January 2009. I believe in giving back to the community that helped me get started, which is why I decided to write this book.

Through high school, college, and my professional career, I’ve had the privilege to learn how to build software for many different platforms. In my experience I’ve found the best way for me to understand the big picture is not through individual lessons but instead to create something I could actually use. That’s the approach this book takes. You will learn how to build iOS apps by building an iOS app. The app is called Bands. It’s a fairly simple app, but it will introduce you to the key concepts of Objective-C and Cocoa Touch while implementing features that are found in many popular iOS apps. When you are done you will have a real app you can actually use. By no means does it teach you all the things you can do with the iOS SDK. Those possibilities are almost endless. But it does give you a solid foundation you can use to begin creating your own amazing iOS apps.