Skip to content

Latest commit

 

History

History
77 lines (59 loc) · 3.13 KB

File metadata and controls

77 lines (59 loc) · 3.13 KB

iOS 1

Presenter: Devon Boyer

Target Audience:

  • Newcomers to iOS

Suggested Prerequisites:

  • In order to develop iOS apps, you must be using macOS
  • Install Xcode from the Mac App Store. Recommended version to install is Xcode 10 with Swift 4.
  • Familiarity with Git and GitHub is recommended, but not necessary.
  • Some programming experience is recommended, but not necessary.

Workshop Goals:

The goal of this workshop is to help newcomers to iOS app development get started with creating user interfaces with AutoLayout. We will be going through building the interface for an iOS application, so you can follow along with your own computer.

Description:

We will build a simple app step-by-step to display information about your GitHub repositories.

Content Breakdown:

  • Introduction & Xcode set-up
  • Swift and Xcode
    • Introduce the concept of optionals & named parameters
    • Briefly discuss Xcode
  • Cocoa Touch and 3rd Party Libraries
    • Discuss the Cocoa Touch framework, dependency managers, and third party libraries
  • Models, Views, and View Controllers
    • Discuss how the Model-View-Controller pattern is used in iOS development
  • Workshop
    • Create a new iOS app with audience step-by-step
    • Introduce AutoLayout and working with REST APIs.
  • Useful resources / Q&A
    • Explain how to use 3rd party libraries with CocoaPods, Apple’s built-in frameworks, and list useful frameworks for hackathons
    • Q&A for misc questions

Slides


Key Notes:

  • Full tutorial

  • Introduction

    • I’m Devon Boyer, currently in 4A Computer Science at UW
    • I’ve been developing iOS apps since 2013 starting with iOS7
    • I worked on the Shopify Point of Sale iOS app for my first UWaterloo co-op term in 2016 mostly working on refactoring the UI to use AutoLayout.
  • iOS Development

    • Most knowledge about iOS is gained through experience in Apple’s frameworks (UIKit and Foundation)
    • 80% spent learning UIKit and other Apple frameworks, 20% learning Swift
    • Apple releases a new version of iOS every year and usually adds new frameworks
  • Swift and Xcode

    • Optionals, named parameters
    • Xcode is the IDE used to develop iOS apps
  • Cocoa Touch and 3rd Party Libraries

    • Dependency managers: CocoaPods
    • Alamofire (Networking)
  • Models, Views, and View Controllers

    • Models
      • Contains data used to configure a view like the text that will be displayed in a label or the title of a button.
    • Views
      • Represents visual elements on the screen. Many useful built in views in UIKit.
    • View Controllers
      • Used to represent a “screen”. Basic building block of navigation.
  • Interface Builder

    • Drag and drop editor in Xcode to design interfaces without writing any code.
  • Useful resources