with Daniel Steinberg and Bill Dudney
Learn how to create full-featured iOS apps from scratch in this comprehensive 4-day, hands-on training course taught by two renowned iOS experts.
- Learn how to use the tools and APIs in the iOS 6.0 SDK, and how they all fit together to build iOS apps like the pros.
- Gain hands-on coding experience and get answers to your questions so you can start creating your own iOS apps with confidence.
- Save development time and frustration by focusing exclusively on iOS development for four days with expert guidance.
You'll come away from this course ready to create your first iOS app, or improve your existing app. Check out some of the apps our alumni have created as a result of attending this course!
“It was totally awesome! I learned more in these four days than in six months of muddling around on my own.” — Will Ronco
When and Where?
This 4-day course runs from 8:30am — 4:30pm on the first three days and 8:30am — 4pm on the last day.
|July 22 - 25, 2013||Reston, VA||Early price ends June 21|
|August 26 - 29, 2013||Denver, CO||Early price ends July 26|
|September 16-18, 2013||In partnership with Skills Matter in London, UK||Early price ends August 16|
You're an alumni if you've attended any previous Pragmatic Studio event. A team is 3 or more attendees from the same company. This course can also be taught on-site at your location.
What Will I Learn?
How to create high-quality iOS apps from scratch. Through a series of guided instruction and over 25 hands-on coding exercises, you'll learn iOS development by creating 6 example apps. You'll not just know how to use the iOS SDK, you'll also understand why things are the way they are. Topics include:
Objective-C is the object-oriented programming language that you use to write iOS apps. While this isn't a comprehensive course on Objective-C, you'll learn enough to jump right into iOS development. Topics include:
- Classes, objects, and methods
- Message sending
- Foundation classes: strings, arrays, and so on
Xcode is the IDE used for iOS development, and it's been redesigned in Xcode 4.5. You'll learn how to:
- Create and navigate iOS projects in Xcode
- Use Xcode and Interface Builder efficiently
- Use the Xcode debugger
Cocoa Touch is a set of object-oriented libraries for creating apps that run on iOS devices. Cocoa Touch is based on Cocoa, and embodies various object-oriented design patterns also used for programming on the Mac. Understanding those patterns is essential to becoming a competent iOS developer. You'll learn how to:
- Use the core classes in the Cocoa Touch framework
- Get the real benefit of the model-view-controller (MVC) design pattern
- Define delegates to "hook" your app-specific code into the Cocoa Touch framework
- Register and post notifications
Views and View Controllers
Views represent the user interface of your app, and all the dynamic aspects of a view are handled by a view controller. View controllers are the hub of the model-view-controller (MVC) design. You'll learn how to:
- Design views with Storyboards and Segues in Interface Builder
- Connect views to their view controllers with outlets
- Define actions to respond to control events, such as pressing a button
Almost every iOS app has at least one table view to manage rows of tabular data. It's so common that Apple provides a pre-built controller for tables. But using it effectively can be tricky. You'll learn how to:
- Create a data source to populate a table
- Insert and delete table rows
- Organize data in table sections
Navigation and Tab Bar Controllers
Apple also provides a number of pre-built view controllers that serve as "containers" for your controllers. Using (and understanding) these pre-built controllers will save you a ton of work. You'll learn how to:
- Use navigation controllers to create hierarchical apps
- Use tab bar controllers to create multi-mode apps
Keyboard Input and Gestures
Well-designed iOS apps make effective use of the virtual keyboard and touch screen unique to iOS devices. You'll learn how to:
- Configure a keyboard for an ideal user experience
- Create a delegate class to handle keyboard input
- Detect and respond to taps, swipes, and other gestures
Core Data Basics
Data-centric apps will generally need to persist application-level data on the device. Core Data offers an elegant solution to data modeling and persistence. You'll learn how to:
- Use the modeling tools to model persistent app data
- Create, read (fetch), update, and delete persistent entities
- Manage model relationships
Drawing and Animation
iOS devices have amazing support for custom graphics and animation. Advanced toolkits such as OpenGL are beyond the scope of this course, but most apps don't need this complexity. Instead, you can do a lot with the drawing and animation methods that are supported in all views. You'll learn how to:
- Draw images and text dynamically
- Create basic view animations for better user feedback
- Use blocks syntax to clarify your code
Extend the reach of your mobile app by learning how to communicate with remote web services. You'll learn how to:
- Make asynchronous requests to a RESTful interface
- Use the JSON data returned in the response
Transitioning to the iPad
In a lot of ways, developing an iPad app is similar to developing an iPhone app. Indeed, all the fundamental concepts you learn in this course apply to the iPad, as well. There are, however, some tasks and classes that are unique to the iPad. You'll learn how to:
- Use the split-view controller and popovers unique to iPad apps
- Transform an iPhone app into a Universal app that can run on both platforms
Performance and Debugging
Last, but certainly not least, it's important that your app behaves well when running on an iOS device. And when trouble strikes, you'll want the confidence to solve problems quickly. You'll learn how to:
- Avoiding and handling memory warnings
- Use Instruments to fix memory leaks and profile your code
- Use the debugging tools built into Xcode
- Troubleshoot common errors and warnings
Practical tips, tricks, and techniques
Along the way you'll learn practical tips, tricks, and techniques we use to create high-quality, full-featured iOS apps.
In addition to the prepared topics, you'll have time to ask questions and spark discussions with other developers.
“The instructors brought a passion and knowledge to the course that I have not seen in other training.” — Patrick Leslie
“The knowledge and experience of the instructors is priceless.” — Harold Daniel
Who Teaches the Course?
Two iOS Experts and Authors. We've been teaching iOS development since November 2008, shortly after the original iPhone SDK was released, so you're in good hands. You'll learn directly from two recognized iOS development experts and published book authors.
Bill Dudney is a software developer and entrepreneur currently building software for iOS and Mac OS X. He's a co-author of Pragmatic Programmer’s books iOS SDK Development and Core Animation for Mac OS X and the iPhone. Prior to teaching, Bill worked at Apple as the Application Frameworks Evangelist where he helped many developers with good apps build great apps. He has several iPhone apps currently selling on the App Store.
Daniel Steinberg is the author of Cocoa Programming: A Quick Start for Developers, iPad Programming, and Test Driving iOS Development with Kiwi. He writes feature articles for Apple's ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple's Worldwide Developer Conference, MacWorld, MacHack, CocoaConf, and other Mac developer conferences.
Matt Drance is the owner of Bookhouse Software, an eight-year Apple veteran, and author of iOS Recipes. As Apple's Application Frameworks Evangelist, Matt helped shape the APIs in the iPhone SDK and worked with hundreds of third-party developers to build many of the apps you use today. He was an annual speaker at Apple's Worldwide Developers Conference (WWDC) and iPhone Tech Talks, and his orientation videos in the iPhone Dev Center have been viewed by thousands of iPhone developers. At Bookhouse, Matt builds his own iPhone and iPad apps and works regularly with a number of clients.
“I wanted training from real, experienced iPhone developers...and I got that in this Studio!” — Kevin Garriott
“The instructors were extremely helpful and knowledgeable. They made the material easy to understand. Definitely the best training class I've taken!” — Helen Chung
Who Should Attend?
Programmers. This Studio will be a good fit for you if...
- You're an experienced programmer new to iOS development.
- You understand object-oriented programming concepts such as classes, methods, data structures, loops, conditionals, and so on.
- You want to create your first iOS app, or improve an existing app.
You can prepare for this course by assessing your skills and working through some of the resources listed in our iOS Developer Roadmap. If you're unsure whether this course is a good fit for you, contact us.
“I really liked the emphasis on why certain practices are 'best practices', not just the how to do something.” — Kevin Weller
Food, Code, and More. Here's what's included with your registration:
- A continental breakfast, a hot lunch, and continuous beverages and snacks each day
- A binder with the printed course material
- All the exercises and example source code to refer back to later
- An invitation to our alumni-only mailing list for help after the Studio
- Proof of completion online as well as a signed certificate
- Internet connectivity during the Studio
- A stylish Pragmatic Studio t-shirt
- Discounts on future training
What Should I Bring?
Your Mac Laptop, Running Mountain Lion. It wouldn't be a hands-on course if you didn't walk away having written some code. Most of the labs can be run on the iPhone Simulator, so you don't necessarily need an iOS device, but you will need to be running OS X Mountain Lion.
A few weeks before the Studio, we'll send out detailed instructions for installing everything you'll need. During the Studio, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.
Will We Use Xcode 4?
Yes! We'll be using Xcode 4 throughout the course. And to help you get comfortable with Xcode 4 before the course, we've put together 10 free video tutorials. We highly recommend watching at least these three tutorials before attending:
What's a Studio?
Comprehensive, Hands-On Learning. The Studio experience doesn't begin and end in the classroom. The moment you register, we'll help you start preparing for the course. In the Studio you'll enjoy a distraction-free, interactive learning environment. When you return to your project, you'll have access to supporting resources to help you succeed. (Why we call them Studios.)
1. Help You Prepare: Before you arrive, you'll:
- Receive prep material to help you get the most out of our time together
- Get detailed laptop set-up instructions
2. In the Studio: In our collaborative learning environment you'll:
- Learn through guided instruction and hands-on programming exercises
- Discover new techniques in live coding sessions
- Get your questions answered by experts and your peers
- Reinforce the concepts you've learned in books, and dig deeper
- Discuss timely topics, tips, and tricks
3. On-Going Support: After you return to your project, you can:
- Get your questions answered on our alumni-only mailing list
- Get discounts on books, screencasts, and future training to continue learning
4. Success: Deliver your app with more confidence!
- Show off your app in our alumni gallery.
- Connect with fellow alumni in our Yearbook.
“Certainly one of the best training experiences I've ever had...The materials are good, the guys are experts and the entire thing was fun—which is hard to say about any training program.”