MAC, iPhone and iPad Programming (Online)
The fastest-growing software market today involves mobile applications (or apps). In this course, you'll learn to use the free Xcode compiler and the Objective-C/Swift programming language to program your own apps that you can sell through Apple's App Store, reaching millions of potential customers around the world.
You'll start with the basic steps to writing any program, then progress to using Xcode—the same compiler that Apple, Microsoft, Adobe, and many other companies use to write programs and applications. Along the way, you'll explore examples and perform simple coding exercises to build your confidence using Xcode and Objective-C/Swift.
Even if you're new to programming or have experience programming a different type of computer, this course will offer the guidance you need to build your own apps. By the end of this course, you'll know how to find your way around Xcode and write Objective-C/Swift commands, so you'll be ready to start creating your very own Mac, iPhone, or iPad programs!
Learning How to Write Programs for the Mac, iPhone, and iPad
Computers, smartphones, and tablets may look nice, but they're essentially useless without software to make them work. Today one of the hottest computers around is the Mac, one of the most popular phones is the iPhone, and one of the dominant tablets is the iPad. With so many people buying these devices, there's a tremendous opportunity to write and sell software or apps for all these millions of Mac, iPhone, and iPad users. In this lesson, you'll learn the basics of how programming works for any computer. Then you'll learn how a programming tool called Xcode can help you create programs or apps for the Mac, iPhone, and iPad.
Getting to Know Xcode
To create an OS X program or an iOS app, you need to use Xcode, Apple's free programming tool that runs on a Mac. With Xcode, you can create projects that consist of multiple files. Then you can write and edit Objective-C and Swift code in one file while designing your program's user interface in a different file. This lesson teaches you what Xcode can do and how it works so you can get comfortable using its features.
Creating User Interfaces, Part I
Every type of program you create, whether it's an OS X program or an iOS app, needs a user interface. And that user interface needs to accept data, display information, and allow the user to control the program by giving commands. OS X programs have a standard user interface that consists of a menu bar with pull-down menus along with multiple, resizable windows. On the other hand, iOS apps can display only one screen at a time that responds to touch gestures with a limited number of options on display at any given time. By understanding the different types of user interfaces for OS X and iOS, you can design an OS X program or iOS app that meets (or exceeds) the user's expectations.
Creating User Interfaces, Part II
User interfaces offer features that all OS X programs and iOS apps share. However, an interface must be able to adapt to user changes in window size, screen size, or orientation without requiring reprogramming. This lesson explains more about how constraints can define the position and size of the items on your user interface. In addition, this lesson helps you better understand Xcode's user interface, which provides multiple ways to perform commands.
Working With Views
The main feature of every user interface is a window, which Xcode calls a view. A view lets you place and arrange other user interface items on it, such as buttons, text fields, and labels. Xcode stores your user interface in either a .xib or .storyboard file. You can use either .xib or .storyboard files for OS X programs, but you can use .storyboard files for iOS apps only. In this lesson you'll even learn how to create custom user interfaces for different screen sizes or orientations, which can be especially useful for iPhones.
Working With User Interface Items
The purpose of every user interface is to allow input, display information, and allow the user to give commands. To design a user interface, you have to fill a window or view with items such as text fields, buttons, and labels. And to make your user interface responsive, you have to connect user interface items to your code using IBOutlets. An IBOutlet variable lets you put data in a user interface item, such as a label or a text field. This lesson teaches you the basics of connecting your user interface with your Objective-C or Swift code.
Learning More About Xcode
The main tool for writing OS X programs and iOS apps is Xcode. Although you've used Xcode to create projects, up until now you've used only a fraction of its features. In this lesson, you'll learn to customize Xcode and get help from Apple's documentation. You'll also find out about the basics of object-oriented programming and how it relates to creating OS X and iOS projects. By the time you finish this lesson, you'll have a better understanding how Xcode can help you create programs easier and faster than ever before.
Learning to Write Objective-C and Swift Code
While you can design your program's user interface without writing any code, eventually you'll need to know how to write code to make your program actually work. In this lesson, you'll start learning to write Objective-C and Swift code. You'll find out how to write commands in each programming language. By writing Objective-C and Swift code, you can customize the behavior of your program and make it solve useful problems.
Creating and Using Class Files
To fully understand OS X programs and iOS apps, you need to understand object-oriented programming. To create objects, you must first define class files, which define properties and methods. All user interface objects are classes, and all OS X programs and iOS apps are based on classes. For maximum flexibility, you can create your own custom class files as well. In this lesson, you'll learn the steps to creating class files for both OS X and iOS projects in Objective-C and Swift.
Storing and Retrieving Data in User Interface Items
In previous lessons you learned to retrieve text typed into a text field and display new text in a label. In this lesson, you'll practice retrieving and storing data in various user interface items. To find out how to store and retrieve data, you need to understand that all user interface items are classes, and all classes have properties. By learning how to find properties for class files and using inheritance to help you find related classes, you can find properties and methods that you can use in your own programs.
Creating User Interface Items in Code
Xcode provides different user interface items that you can drag out of the Object Library and place on a user interface. While it's possible to create a user interface entirely in code, that's not common. However, there are some user interface items you can't use unless you create them in code. In this lesson, you'll learn how to create an alert dialog box using Objective-C and Swift to display information on the screen for the user to respond to.
Continuing Your Education
The first eleven lessons gave you an introduction to several topics: Xcode, Objective-C, Swift, and user interface design. Obviously this short course can't teach you everything you need to know, but it can give you a solid foundation so you'll feel confident learning more on your own. In this lesson, you'll get a brief overview of several additional topics that you'll likely need when you start creating your own OS X programs and iOS apps . . . from fixing problems in code to working with teams of programmers.