An Introduction to iOS Development - DevFest Nashville

18
iOS Development Blake Merryman An Introduction to

Transcript of An Introduction to iOS Development - DevFest Nashville

Page 1: An Introduction to iOS Development - DevFest Nashville

iOS Development

Blake Merryman

An Introduction to

Page 2: An Introduction to iOS Development - DevFest Nashville

COCOAHEADS[Nashville]

Page 3: An Introduction to iOS Development - DevFest Nashville

Covered today…Getting Started

Xcode & Swift

Model View Controller

Protocol Oriented

Callbacks

Building an App:

Networking

Model & Persistence

Building a UI

Putting it all Together

Page 4: An Introduction to iOS Development - DevFest Nashville

Getting Started

Apple Developer Account (free)

Xcode (free)

Mac (that can run Xcode)

Page 5: An Introduction to iOS Development - DevFest Nashville

XcodeIntegrated Development Environment

Batteries Included:

Libraries & Documentation Simulators Compiling, Debugging, Testing, Inspecting Signing, Packaging, & Submitting for Store

Page 6: An Introduction to iOS Development - DevFest Nashville

Swift

Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design

patterns.

~ swift.org

Page 7: An Introduction to iOS Development - DevFest Nashville

Swift

Safe. Fast. Expressive. Open-Source.

Page 8: An Introduction to iOS Development - DevFest Nashville

SwiftGenerics, Optionals, Tuples

Rich Structs & Enums

Built-in Error Handling

Functional Programming Patterns

Objective-C & C Interoperability

Page 9: An Introduction to iOS Development - DevFest Nashville

Model View Controller

CONTROLLER

MODEL

UpdatesSends user actions

NotifiesUpdates

VIEW

Page 10: An Introduction to iOS Development - DevFest Nashville

Model View Controller

CONTROLLER(S)

MODEL

UpdatesSends user actions

NotifiesUpdates

VIEW

Page 11: An Introduction to iOS Development - DevFest Nashville

Protocol OrientedProtocol - A contract between objects

OOP = Inheritance vs. POP = Composition

Classes, Structs, Enums can conform

Extend protocols w/ default implementations

Compose to achieve goal

Page 12: An Introduction to iOS Development - DevFest Nashville

CallbacksA method of explicitly passing data between objects.

Common Callbacks:

Delegates

DataSources

Closures / Blocks / Handlers

Page 13: An Introduction to iOS Development - DevFest Nashville

Callbacks

PARENT OBJECT

CHILD OBJECT

Owns

Delegates

Page 14: An Introduction to iOS Development - DevFest Nashville

{ insert code here }

Example Source Code

Page 15: An Introduction to iOS Development - DevFest Nashville

Enough to be Dangerous…

macOS

watchOS

tvOS

Page 16: An Introduction to iOS Development - DevFest Nashville

Publish to the App Store

Paid Apple Developer Account($99)

iOS Device (for testing)

Send builds straight from Xcode

Page 17: An Introduction to iOS Development - DevFest Nashville

Questions?