iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 01)

Jonathan Engelsma
Jonathan EngelsmaAssociate Professor
XCODE / IOS OVERVIEW
Lecture 01
Jonathan R. Engelsma, Ph.D.
TOPICS
• TheTools - xCode and friends
• ModelView Controller (MVC) Architecture
XCODE
• The IDE:
• xCode is Apple’s IDE for iOS and Mac
development.
• Available as a free download on the Apple Mac
Store.
• Requires an Apple Mac computer to run!
XCODE FEATURES
• Integration with git (kind of lame)
• Autocompletion / syntax highlighting / code folding
• Fully integrated debugger
• Interface Builder to ease UI implementation.
• Support for deploying apps to AppStore
Editor
Library PaneDebug AreaNav Area
UtilityArea
Toolbar
INTERFACE BUILDER
https://developer.apple.com/xcode/interface-builder/
CREATING USER INTERFACES
• We have two options on iOS:
• Use “nib” files to instantiate UI:
• *.storyboard: Storyboards contains multiple screens
as well as the segues between them.
• *.xib: Contain a single screen layout.
• Programmatically create user interface.
WHICH APPROACH IS BEST?
• Storyboards are easiest to work with but…
• When multiple developers edit the same storyboard
simultaneously, merging those changes can be problematic.
• Many shops use *.xib’s and avoid *.storyboards.
• Highly custom user interfaces may avoid using nib
instantiated user-interfaces altogether! (Games, etc. )
XCODE DEBUGGER
https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/DebugYourApp.html
XCODE DEBUGGER
https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/DebugYourApp/DebugYourApp.html
THE IOS EMULATOR
• Allows you to execute app on your
computer.
• Can’t emulate all device features (e.g.
camera, bluetooth, accelerometer)
• Always test on a real device prior to
launch!
APPS / FORM FACTORS
• iPhone/iPodTouch Only
• iPad Only
• Universal: same binary supports
iPhone, iPodTouch and iPad.
design pattern = solution to a problem in a context
Source: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/
CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html
MODELVIEW CONTROLLER
BUILDING / RUNNING
OUR FIRST IOS APP
DEMO!!
1 of 15

Recommended

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
1.1K views20 slides
Swift Programming Language by
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageGiuseppe Arici
108.7K views167 slides
iOS Internals Part -2 by
iOS Internals Part -2iOS Internals Part -2
iOS Internals Part -2Anthony Jose
920 views8 slides
Curso anpe by
Curso anpeCurso anpe
Curso anpe19011977
306 views3 slides
Mobile Gamification by
Mobile GamificationMobile Gamification
Mobile GamificationJonathan Engelsma
701 views43 slides
What Every IT Manager Should Know About Mobile Apps by
What Every IT Manager Should Know About Mobile AppsWhat Every IT Manager Should Know About Mobile Apps
What Every IT Manager Should Know About Mobile AppsJonathan Engelsma
866 views35 slides

More Related Content

Viewers also liked

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) Jonathan Engelsma
930 views31 slides
Hello Swift Final 5/5 - Structures and Classes by
Hello Swift Final 5/5 - Structures and ClassesHello Swift Final 5/5 - Structures and Classes
Hello Swift Final 5/5 - Structures and ClassesCody Yun
1.2K views46 slides
Knowing Your Bees: Becoming a Better Beekeeper by
Knowing Your Bees: Becoming a Better BeekeeperKnowing Your Bees: Becoming a Better Beekeeper
Knowing Your Bees: Becoming a Better BeekeeperJonathan Engelsma
519 views35 slides
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On... by
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...Jonathan Engelsma
1.1K views33 slides
Beginning iOS Development with Swift by
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with SwiftTurnToTech
384 views16 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)Jonathan Engelsma
988 views36 slides

Viewers also liked(18)

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
Jonathan Engelsma930 views
Hello Swift Final 5/5 - Structures and Classes by Cody Yun
Hello Swift Final 5/5 - Structures and ClassesHello Swift Final 5/5 - Structures and Classes
Hello Swift Final 5/5 - Structures and Classes
Cody Yun1.2K views
Knowing Your Bees: Becoming a Better Beekeeper by Jonathan Engelsma
Knowing Your Bees: Becoming a Better BeekeeperKnowing Your Bees: Becoming a Better Beekeeper
Knowing Your Bees: Becoming a Better Beekeeper
Jonathan Engelsma519 views
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On... by Jonathan Engelsma
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
Jonathan Engelsma1.1K views
Beginning iOS Development with Swift by TurnToTech
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with Swift
TurnToTech384 views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
Jonathan Engelsma988 views
Swift distributed tracing method and tools v2 by zhang hua
Swift distributed tracing method and tools v2Swift distributed tracing method and tools v2
Swift distributed tracing method and tools v2
zhang hua1.2K views
Let's Learn Ruby - Basic by Eddie Kao
Let's Learn Ruby - BasicLet's Learn Ruby - Basic
Let's Learn Ruby - Basic
Eddie Kao3.2K views
Action Controller Overview, Season 1 by RORLAB
Action Controller Overview, Season 1Action Controller Overview, Season 1
Action Controller Overview, Season 1
RORLAB879 views
Bfc michael king_presentation_2017 by SWIFT
Bfc michael king_presentation_2017Bfc michael king_presentation_2017
Bfc michael king_presentation_2017
SWIFT498 views
Ruby on Rails testing with Rspec by Bunlong Van
Ruby on Rails testing with RspecRuby on Rails testing with Rspec
Ruby on Rails testing with Rspec
Bunlong Van1.9K views
jQuery For Beginners - jQuery Conference 2009 by Ralph Whitbeck
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck35.6K views
Learning jQuery in 30 minutes by Simon Willison
Learning jQuery in 30 minutesLearning jQuery in 30 minutes
Learning jQuery in 30 minutes
Simon Willison53.4K views
A swift introduction to Swift by Giordano Scalzo
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
Giordano Scalzo104.8K views

More from Jonathan Engelsma

BIP Hive Scale Program Overview by
BIP Hive Scale Program OverviewBIP Hive Scale Program Overview
BIP Hive Scale Program OverviewJonathan Engelsma
677 views10 slides
Selling Honey Online by
Selling Honey OnlineSelling Honey Online
Selling Honey OnlineJonathan Engelsma
2.9K views33 slides
Selling Honey at Farmers Markets, Expos, etc. by
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc. Jonathan Engelsma
1.3K views31 slides
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersJonathan Engelsma
1.9K views34 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)Jonathan Engelsma
805 views15 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)Jonathan Engelsma
1K views26 slides

More from Jonathan Engelsma(8)

Selling Honey at Farmers Markets, Expos, etc. by Jonathan Engelsma
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc.
Jonathan Engelsma1.3K views
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by Jonathan Engelsma
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Jonathan Engelsma1.9K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)
Jonathan Engelsma805 views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
Jonathan Engelsma1.1K views

Recently uploaded

Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
12 views1 slide
Introduction to Git Source Control by
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source ControlJohn Valentino
5 views18 slides
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
42 views83 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
41 views62 slides
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptxanimuscrm
15 views19 slides
Keep by
KeepKeep
KeepGeniusee
78 views10 slides

Recently uploaded(20)

Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino5 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller42 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller41 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm15 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi215 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok11 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492138 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert21 views

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 01)