Getting Started

This reading is meant to help you get started with the correct tools and basic knowledge to begin to develop iOS applications in the Swift programming language using Xcode.

Before we begin, you should know that there are a few different ways to build an iOS application:

  1. The "Native" way using Apple's tools like Xcode with Objective-C or Swift Programming Languages and the iOS Frameworks and design strategy. These apps can only be deployed on iOS.
  2. The "Multi-Platform" way using third-party tools such as PhoneGap/Cordova which allow you to build a Web application and "wrap" it into a native shell for the respecting Mobile OS.
  3. Libraries such as React Native which bridge between the native platform and JS, that allows us to render real native component instead of a WebView but use entirely JavaScript to build out our applications.

In this class, we will focus on the way that Apple intended applications to be built using the awesome tools created and supported by them.


Expectations

This class has lecture MWF 1-3pm in 34-302. It is expected that you come to class everyday (unless you've spoken to an instructor before hand). You will earn 3 units of General Elective Credit for completing this course and will be graded on a P/D/F basis. Each lecture will have a pre-class reading and questions that are expected to be read, thought about and completed before hand.


Prerequisites

It is important to know that developing iOS applications can be easy if you have certain knowledge going into it. In this class we will assume that you know/have experience with:

  • Object-Oriented Programming (Python (using Classes), Java, C++. etc.)
  • Have used an iOS app

Tools

To develop iOS apps using the latest technologies in this class, you need a Mac computer (macOS 10.11.5 or later) running the latest version of Xcode (currently version 9.2.x). Xcode includes all the features you need to design, develop, and debug an app. Unlike other platforms, like the Web, there is little flexibility for the programming, construction, and deployment of native applications on iOS. However, the good thing is that Apple's IDE, Xcode, is an excellent developer experience (for the most part). It also contains the iOS SDK, which extends Xcode to include the tools, compilers, and frameworks you need specifically for iOS development. We'll jump into what these components are in a bit, let's first get you set up with all of the tools so you can start creating iOS apps on Day 1!

Download the latest version of Xcode on your Mac free from the App Store.

Some of you may already have Xcode installed, in that case make sure you have the latest version installed.

Apple provides iPhone/iPad Simulators to run our apps on our computer screen and view them just as they would appear on an actual device. However, if you have an iOS device (not required), you can upload your apps to it and try them out in the palm of your hand!