An Introduction to iOS Development - DevFest Nashville
-
Upload
kenneth-blake-merryman -
Category
Software
-
view
143 -
download
0
Transcript of An Introduction to iOS Development - DevFest Nashville
![Page 1: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/1.jpg)
iOS Development
Blake Merryman
An Introduction to
![Page 2: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/2.jpg)
COCOAHEADS[Nashville]
![Page 3: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/4.jpg)
Getting Started
Apple Developer Account (free)
Xcode (free)
Mac (that can run Xcode)
![Page 5: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/7.jpg)
Swift
Safe. Fast. Expressive. Open-Source.
![Page 8: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/9.jpg)
Model View Controller
CONTROLLER
MODEL
UpdatesSends user actions
NotifiesUpdates
VIEW
![Page 10: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/10.jpg)
Model View Controller
CONTROLLER(S)
MODEL
UpdatesSends user actions
NotifiesUpdates
VIEW
![Page 11: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/12.jpg)
CallbacksA method of explicitly passing data between objects.
Common Callbacks:
Delegates
DataSources
Closures / Blocks / Handlers
![Page 13: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/13.jpg)
Callbacks
PARENT OBJECT
CHILD OBJECT
Owns
Delegates
![Page 15: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/15.jpg)
Enough to be Dangerous…
macOS
watchOS
tvOS
![Page 16: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/17.jpg)
Questions?
![Page 18: An Introduction to iOS Development - DevFest Nashville](https://reader036.fdocuments.us/reader036/viewer/2022081900/58997a3e1a28ab49478b8ce9/html5/thumbnails/18.jpg)
Sources
Example Source Code
Start Developing iOS Apps: Jump Right In (Apple)
Star Wars API
List of fun APIs to play with (Reddit)