Transcript
Page 1: Start Developing iOS Apps Today

Start Developing iOS Apps Today

Creating iOS apps is fun and rewarding, and if you're a new developer you might be wondering

where to begin. This road map provides the perfect starting point for iOS app development. On

your Mac computer, you can create iOS apps that run on iPad, iPhone, and iPod touch. Follow

this road map to learn where to get the tools you need, understand the major concepts and best

practices, and see where to find more information.

As you proceed through the road map, you will use Xcode and the iOS SDK, Apple’s tools for

app development. You will learn the basics of programming with Objective-C, the language that

powers all iOS apps and frameworks, and will explore the Cocoa Touch frameworks. You will

create a simple iOS app and learn how to test it on a device. Finally, you will learn how to submit

an app to the App Store.

Each page in the road map introduces a new topic and links to one or more short articles about

that topic. The road map provides you with a breadth of knowledge to get you started, and the

last page, Where to Go from Here, includes links to documents you should read next. After you

finish the road map, you will be prepared to delve deeper into any individual topic. You'll have the

knowledge, tools, and skills to start developing iOS apps!

Page 2: Start Developing iOS Apps Today

Installing Tools

When you develop apps, you use the iOS software development kit (SDK) and Xcode, Apple’s

integrated development environment (IDE). Xcode provides everything you need to create great

apps for iPhone, iPod touch, and iPad. It includes a source editor, a graphical user interface

editor, and many other features—from customizable builds to source repository management.

Xcode employs a single window, called the workspace window, that holds most of the data you

need. With Xcode, you smoothly transition from writing code, to debugging, to designing your

user interface, all within the same window. The iOS SDK extends the Xcode toolset to include

the tools, compilers, and frameworks you need specifically for iOS.

To get started, you need to:

1. Download the latest version of Xcode.

Open the Mac App Store app on your Mac, search for Xcode, and click Free to download

Xcode. When you download Xcode, the iOS SDK is included. (The Mac App Store app is

installed with Mac OS X version 10.7 and later. If you have an earlier version of Mac OS X,

you need to upgrade.)

2. Enroll as an Apple Developer in the iOS Developer Program.

You do not need to enroll in the program to write apps and test them in Simulator. You do

need to enroll, however, to test apps on devices and to distribute apps. Enrollment gives

you full access to the iOS Dev Center and the iOS Provisioning Portal. If you enroll now, you

will be able to follow all of the steps in the road map, including testing your app on a device.

Page 3: Start Developing iOS Apps Today

Jump Right In

To make a great iOS app, you need to learn many things, but the tools and the iOS SDK make it

easy to get an app up and running. The tutorial Your First iOS App introduces the tools, the

fundamental design patterns, and the application development process. As you follow the

tutorial, you create a simple app that accepts a user’s text input and prints it on the screen. You

also learn how to run your app in Simulator on your Mac. The simple steps in the tutorial

introduce elegant, useful concepts that you use over and over again in app development.

Your First iOS App is the longest article in the road map, but don’t rush through it. It lays the

foundation for the concepts that you will learn more about later. Each of the other articles

expands on one of those concepts.

Follow This Tutorial Now: Your First iOS App shows how to create a simple app as you orient

yourself to the iOS development environment. After you finish the tutorial, return to this page and

continue your path through the Start Developing iOS Apps Today road map.

Page 4: Start Developing iOS Apps Today

Tools

Xcode provides tools to manage your entire development workflow—from creating your app to

testing, optimizing, and shipping your app to the App Store. Your First iOS App showed you how

to create a new project, add user interface elements, and edit your source code. After you create

your app, use Xcode to test and debug your source code, analyze and improve your app’s

performance, perform source control operations, archive and submit your app to the App Store,

and more.

Customizable to suit your style of working, Xcode keeps you focused on the development task at

hand.

Read This Article Now: Manage Your Workflow in Xcode shows you additional Xcode features

for iOS app development.

Page 5: Start Developing iOS Apps Today

Language

Objective-C is an elegant object-oriented language that powers all iOS apps. Objective-C is a

superset of C, which means you can write both C and Objective-C code in your projects.

Although you can use other languages for development, you can’t build an iOS app without

Objective-C.

Objective-C is a simple language with syntax and conventions that are easy to learn—especially

if you have experience with other object-oriented languages such as Java and C++. If you’re a C

programmer, you’ll find that when you are familiar with object-oriented programming and

Objective-C, your apps are easier to design and modify.

Read This Article Now: Write Objective-C Code teaches you the basic syntax of Objective-C,

including class declarations, methods, messaging, and declared properties.

Page 6: Start Developing iOS Apps Today

Basic Tasks

Just as an artist must know how to use a paintbrush and a musician must be familiar with scales

and chords, a programmer must know how to do some basic tasks in code.

To create an iOS app, you need to know how to create objects, compare objects, query objects

for information about them, and access objects in collections such as arrays. These tasks are

common in iOS apps. After you acquire these skills, you are ready to take on more complicated

Objective-C code.

Read This Article Now: Acquire Basic Programming Skills describes the basic tasks in

Objective-C programming.

Page 7: Start Developing iOS Apps Today

Frameworks

An app consists of code that you write and frameworks provided by Apple. A framework contains

a library of methods that your app can call. More than one app can access a framework library at

the same time.

Any app that you develop links to multiple frameworks. You can take advantage of a framework

through its application programming interface (API). The API, published in header files, specifies

the available objects, classes, data structures, and protocols. Apple writes frameworks that

anticipate the basic features you might want to implement. You should use frameworks both to

save time and effort and to make sure that your code is efficient and secure. The system

frameworks are the only way to access the underlying hardware.

Read These Articles Now:

Survey the Major Frameworks describes the frameworks that are most commonly

used in app development.

Integrate Your Code with the Frameworks describes the kinds of methods found in

Objective-C frameworks and explains how you can integrate your app's code with a

framework's code.

Page 8: Start Developing iOS Apps Today

Design Patterns

A design pattern provides a solution to a common software engineering problem. Patterns are

abstract designs, not code. When you adopt a design, you adapt the general pattern to your

specific needs.

No matter what type of app you are creating, you should know the fundamental design patterns

used in the frameworks. Understanding design patterns helps you use frameworks more

effectively and allows you to write programs that are more reusable, more extensible, and easier

to change.

Read This Article Now: Streamline Your App with Design Patterns describes the key design

patterns and explains how these are used in app development.

Page 9: Start Developing iOS Apps Today

Human Interface Design

It's not enough to create an app that works. Users expect iOS apps to be intuitive, interactive,

and engaging. Think about the user experience as you design every aspect of your app, from the

features you choose, to the way your app responds to a gesture.

Although people might not be aware of human interface design principles, they can tell when

apps follow the guidelines and when they don't. Follow the principles and conventions spelled out

in iOS Human Interface Guidelines to design a superlative user interface and user experience for

your product.

Read This Article Now: Design with the User in Mind explains how to create an app that

delivers a great user experience. This document introduces the guidelines to follow when

programming; it does not describe how to implement your designs in code.

Page 10: Start Developing iOS Apps Today

App Design

Before you begin writing a line of code, you should make some critical design decisions. Be as

specific as possible about your app’s purpose and features. Choose the kind of data model your

app will use. Decide on a user interface style for your app; for example, should it follow a master-

detail pattern or that of a utility app? Do you want your app to be universal—that is, an app that

runs on iPad, iPhone, and iPod touch? These and other design decisions help you to construct

the architecture of your app.

But before you work on that architecture, become familiar with the Cocoa Touch frameworks.

After all, your app doesn't exist on its own—it depends on the objects you can create with these

frameworks. Get to know the framework objects that implement the basic structure of an app,

that serve as the building blocks of your data model, and that compose the unique experience

your app presents to users.

Read These Articles Now:

Design Your App with Care presents some of the initial design questions you need to

ask yourself. It also helps you figure out how to put your design decisions into action.

Know the Core Objects of Your App describes the important framework objects that

are a part of all iOS apps and how these objects work together.

Page 11: Start Developing iOS Apps Today

App Store

The information you’ve read so far focused on how to create an app in Xcode. However, there

are other things you must do to publish an app on the App Store.

To make a great app, you need to test it on actual devices throughout the development process,

not just in Simulator. To run an app on iOS-based devices, you need to register the devices you

want to test on, create certificates that authorize developers to sign an app, and create an app ID

to identify the app.

After you test and refine your app, you need to submit it through iTunes Connect. Your app must

be approved by App Store reviewers before it’s published.

Read This Article Now: Prepare for App Store Submission describes the administrative aspects

of developing apps for the App Store.

Page 12: Start Developing iOS Apps Today

Finding Information

While developing your apps, you'll need easy access to detailed technical information. Xcode

makes that material available at your fingertips as you're coding.

Xcode's Quick Help displays concise reference information without taking your focus away from

the file you’re editing. Click a symbol, interface object, or build setting to see more information.

Control-click areas of Xcode itself for task-based help about how to perform common operations.

Each help article offers step-by-step instructions and usually includes a video or illustration for

further clarification.

The documentation organizer in Xcode delivers in-depth programming guides, instructive

tutorials, illustrative sample code, user guides for the developer tools, and detailed framework

API references, all from the iOS Developer Library. The documentation organizer provides a

searchable, browsable, integrated view of all of Apple's developer documentation. The iOS

Developer Library is also available on the web.

Read This Article Now: Find Documentation Quickly illustrates how to use these essential

documentation resources.

Page 13: Start Developing iOS Apps Today

Where To Go From Here

Congratulations! You have now visited all the stations in Start Developing iOS Apps Today and

have read the recommended overviews and other short documents. Now you are ready to begin

developing iOS Apps on your own. Or you might download a sample app project from the iOS

Developer Library to see how everything fits together. To become an efficient and productive iOS

developer, however, you should first enroll in the iOS Developer Program and then deepen the

knowledge and skills you have just acquired.

Read These Tutorials to Explore iOS App

Development Work through these tutorials to get experience in other areas of app development:

Your First App Store Submission teaches you the process of provisioning devices and

submitting your app to the App Store.

Your Second iOS App: Storyboards shows you how to use a storyboard to implement

a master-detail app.

Your Third iOS App: iCloud teaches you how to integrate iCloud into a document-

based application.

Read These Documents to Deepen Your

Knowledge of iOS App Development The following documents are essential reading for any developer of iOS apps:

iOS Technology Overview describes the frameworks and other technologies that are

available to your app in iOS.

iOS Human Interface Guidelines teaches you how to make your app consistent with

the user-interface conventions for iOS.

Developing for the App Store walks you through the process of developing apps,

provisioning devices for testing, and submitting apps to the App Store.

The Objective-C Programming Language introduces object-oriented programming

and describes the main programming language used for app development.

Concepts in Objective-C Programming contains descriptions of design patterns,

architectures, and other concepts important in app development.

iOS App Programming Guide explains the essential things you must know and do

when developing an iOS app.

Page 14: Start Developing iOS Apps Today

App Store Review Guidelines lists the guidelines that all apps submitted to the App

Store must follow.