Swift: Developing iOS Applications

Unleash the power of Swift and discover the skills required to build incredible robust iOS applications
Preview in Mapt

Swift: Developing iOS Applications

Andrew J Wagner, Giordano Scalzo, Jon Hoffman

2 customer reviews
Unleash the power of Swift and discover the skills required to build incredible robust iOS applications

Quick links: > What will you learn?> Table of content> Product reviews

Mapt Subscription
FREE
$20.83/m after trial
eBook
$50.40
RRP $71.99
Save 29%
Print + eBook
$89.99
RRP $89.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$50.40
$89.99
$29.99 p/m after trial
RRP $71.99
RRP $89.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Swift: Developing iOS Applications Book Cover
Swift: Developing iOS Applications
$ 71.99
$ 50.40
Test-Driven iOS Development with Swift 3 Book Cover
Test-Driven iOS Development with Swift 3
$ 31.99
$ 22.40
Buy 2 for $35.00
Save $68.98
Add to Cart

Book Details

ISBN 139781787120242
Paperback1027 pages

Book Description

The Swift––Developing iOS Applications course will take you on a journey to become an efficient iOS and OS X developer, with the latest trending topic in town. Right from the basics to the advanced level topics, this course would cover everything in detail. We’ll embark our journey by dividing the learning path into four modules. Each of these modules are a mini course in their own right; and as you complete each one, you’ll gain key skills and be ready for the material in the next module.

The first module is like a step-by-step guide to programming in Swift 2. Each topic is separated into compressible sections that are full of practical examples and easy-to-understand explanations. Each section builds on the previous topics, so you can develop a proficient and comprehensive understanding of app development in Swift 2. By the end of this module, you’ll have a basic understanding of Swift 2 and its functionalities.

The second module will be the an easy-to-follow guide filled with tutorials to show you how to build real-world apps. The difficulty and complexity level increases chapter by chapter. Each chapter is dedicated to build a new app, beginning from a basic and unstyled app through to a full 3D game. The last two chapters show you how to build a complete client-server e-commerce app right from scratch. By the end of these modules, you’ll be able to build well-designed apps, effectively use AutoLayout, develop videogames, and build server apps.

The third and the last module of our course will take an example-based approach where each concept covered is supported by example code to not only give you a good understanding of the concept, but also to demonstrate how to properly implement it.

Table of Contents

Chapter 1: Introducing Swift
Defining our goals for this book
Setting up the development environment
Running our first swift code
Understanding playgrounds
Learning with this book
Summary
Chapter 2: Building Blocks – Variables, Collections, and Flow Control
Core Swift types
Swift's type system
Printing to the console
Control flow
Functions
Bringing it all together
Summary
Chapter 3: One Piece at a Time – Types, Scopes, and Projects
Structs
Classes
Enumerations
Projects
Extensions
Scope
Access control
Summary
Chapter 4: To Be or Not To Be – Optionals
Defining an optional
Unwrapping an optional
Optional chaining
Implicitly unwrapped optionals
Debugging optionals
The underlying implementation
Summary
Chapter 5: A Modern Paradigm – Closures and Functional Programming
Functional programming philosophy
Closures
Building blocks of functional programming in Swift
Lazy evaluation
Example
Summary
Chapter 6: Make Swift Work For You – Protocols and Generics
Protocols
Generics
Extending generics
Putting protocols and generics to use
Summary
Chapter 7: Everything Is Connected – Memory Management
Computer data storage
Value types versus reference types
Automatic reference counting
Strong reference cycles
Lost objects
Structures versus classes
Summary
Chapter 8: Paths Less Traveled – Error Handling
Throwing errors
Handling errors
Cleaning up in error situations
Summary
Chapter 9: Writing Code the Swift Way – Design Patterns and Techniques
What is a design pattern?
Behavioral patterns
Structural patterns
Creational patterns
Using associated values effectively
Extending system types to reduce code
Lazy properties
Summary
Chapter 10: Harnessing the Past – Understanding and Translating Objective-C
Swift's relationship to Objective-C
Background of Objective-C
Constants and variables
Containers
Control flow
Functions
Types
Projects
Calling Objective-C code from Swift
Using functions
Summary
Chapter 11: A Whole New World – Developing an App
Conceptualizing the app
Setting up the app project
Configuring the user interface
Running the app
Allowing picture taking
Temporarily saving a photo
Populating our photo grid
Refactoring to respect model-view-controller
Permanently saving a photo
Summary
Chapter 12: What's Next? – Resources, Advice, and the Next Steps
Apple's documentation
Forums and blogs
Prominent figures
Podcasts
Summary
Chapter 13: Welcome to the World of Swift
The first look at Swift
Summary
Chapter 14: Building a Guess the Number App
The app is…
Summary
Chapter 15: A Memory Game in Swift
The app is…
Building the skeleton of the app
The menu screen
The game screen
Connecting the dataSource and the delegate
Implementing a deck of cards
Finishing the game
Summary
Chapter 16: A TodoList App in Swift
The app is…
Building a skeleton app
Building the Todos screen
Adding a Todo task
Summary
Chapter 17: A Pretty Weather App
The app is…
Building the skeleton
Implementing the UI
Completing the UI
Blurring the background
Downloading the background image
Geolocalising the app
Retrieving the actual forecast
Connecting to the server
Where do we go from here?
Summary
Chapter 18: Flappy Swift
The app is…
Building the skeleton of the app
A stage for a bird
A flying bird
Pipes!
Making the components interact
Completing the game
Summary
Chapter 19: Polishing Flappy Swift
Adding juiciness
Integrating with Game Center
Summary
Chapter 20: Cube Runner
The app is…
Introduction to SceneKit
Implementing Cube Runner
Flying in a 3D world
Adding a few touches
Summary
Chapter 21: Completing Cube Runner
Creating a real game
Summary
Chapter 22: ASAP – an E-commerce App in Swift
The app is…
The skeleton app and register screen
The ASAP e-commerce store
The ASAP cart
Summary
Chapter 23: ASAPServer, a Server in Swift
The interface of the ASAP Server
One skeleton server for two OSes
The ASAPServer
Connecting the ASAP app
Summary
Chapter 24: Taking the First Steps with Swift
What is Swift?
Playgrounds
Hello World
Summary
Chapter 25: Learning about Variables, Constants, Strings, and Operators
Constants and variables
Operators
Summary
Chapter 26: Using Collections and Cocoa Data Types
Swift collection types
Mutability
Arrays
Dictionaries
Set
Tuples
Using Cocoa data types
Foundation data types
Summary
Chapter 27: Control Flow and Functions
What we have learned so far
Control flow
Functions
Putting it all together
Summary
Chapter 28: Classes and Structures
What are classes and structures?
Creating a class or structure
Custom initializers
Inheritance
Overriding methods and properties
Protocols
Protocol syntax
Extensions
Memory management
Summary
Chapter 29: Using Protocols and Protocol Extensions
Protocols as types
Polymorphism with protocols
Type casting with protocols
Protocol extensions
Summary
Chapter 30: Writing Safer Code with Availability and Error Handling
Error handling prior to Swift 2.0
Error handling in Swift 2
The availability attribute
Summary
Chapter 31: Working with XML and JSON Data
XML and JSON
Common files
XML and the NSXMLParser class
Using the NSXMLParserDelegate protocol
Parsing XML documents
XML and manually building XML documents
JSON and NSJSONSerialization
Summary
Chapter 32: Custom Subscripting
Introducing subscripts
Subscripts with Swift arrays
Read and write custom subscripts
Read-only custom subscripts
Calculated subscripts
Subscript values
Subscripts with ranges
External names for subscripts
Multidimensional subscripts
When not to use a custom subscript
Summary
Chapter 33: Using Optional Types
Introducing optionals
The need for optional types in Swift
Optional chaining
Summary
Chapter 34: Working with Generics
An introduction to generics
Generic functions
Generic types
Associated types
Summary
Chapter 35: Working with Closures
An introduction to closures
Simple closures
Shorthand syntax for closures
Using closures with Swift's array algorithms
Standalone closures and good style guidelines
Changing functionality
Selecting a closure based on results
Creating strong reference cycles with closures
Summary
Chapter 36: Using Mix and Match
What is mix and match
Using Swift and Objective-C together in the same project
Summary
Chapter 37: Concurrency and Parallelism in Swift
Concurrency and parallelism
Summary
Chapter 38: Swift Formatting and Style Guide
What is a programming style guide?
Your style guide
Summary
Chapter 39: Network Development with Swift
What is network development?
An overview of the URL session classes
REST web services
Making an HTTP GET request
Making an HTTP POST request
Checking network connection
RSNetworking2 for Swift 2
Summary
Chapter 40: Adopting Design Patterns in Swift
Value versus reference types
What are design patterns
Creational patterns
Structural design patterns
Behavioral design patterns
Summary

What You Will Learn

  • From a solid understanding of the Swift 2 language
  • Get to know the practical aspects of how a computer program actually works
  • Understand the paradigms used by Apple’s frameworks, so you are not intimidated by them
  • Create a server in Swift to deliver JSON data to an iOS app
  • Take advantage of Cocoapods to use third-party libraries Build games with SpriteKit and SceneKit
  • Develop an app running on the cloud to act as an API server for your client’s apps
  • Dive into the core components of Swift 2 including operators, collections, control flow, and functions
  • Create and use classes, structures, and enums including object-oriented topics such as inheritance, protocols, and extensions
  • Develop a practical understanding of subscripts, optionals, and closures
  • Master Objective-C interoperability with mix and match
  • Access network resources using Swift
  • Implement various standard design patterns in the Swift language

Authors

Table of Contents

Chapter 1: Introducing Swift
Defining our goals for this book
Setting up the development environment
Running our first swift code
Understanding playgrounds
Learning with this book
Summary
Chapter 2: Building Blocks – Variables, Collections, and Flow Control
Core Swift types
Swift's type system
Printing to the console
Control flow
Functions
Bringing it all together
Summary
Chapter 3: One Piece at a Time – Types, Scopes, and Projects
Structs
Classes
Enumerations
Projects
Extensions
Scope
Access control
Summary
Chapter 4: To Be or Not To Be – Optionals
Defining an optional
Unwrapping an optional
Optional chaining
Implicitly unwrapped optionals
Debugging optionals
The underlying implementation
Summary
Chapter 5: A Modern Paradigm – Closures and Functional Programming
Functional programming philosophy
Closures
Building blocks of functional programming in Swift
Lazy evaluation
Example
Summary
Chapter 6: Make Swift Work For You – Protocols and Generics
Protocols
Generics
Extending generics
Putting protocols and generics to use
Summary
Chapter 7: Everything Is Connected – Memory Management
Computer data storage
Value types versus reference types
Automatic reference counting
Strong reference cycles
Lost objects
Structures versus classes
Summary
Chapter 8: Paths Less Traveled – Error Handling
Throwing errors
Handling errors
Cleaning up in error situations
Summary
Chapter 9: Writing Code the Swift Way – Design Patterns and Techniques
What is a design pattern?
Behavioral patterns
Structural patterns
Creational patterns
Using associated values effectively
Extending system types to reduce code
Lazy properties
Summary
Chapter 10: Harnessing the Past – Understanding and Translating Objective-C
Swift's relationship to Objective-C
Background of Objective-C
Constants and variables
Containers
Control flow
Functions
Types
Projects
Calling Objective-C code from Swift
Using functions
Summary
Chapter 11: A Whole New World – Developing an App
Conceptualizing the app
Setting up the app project
Configuring the user interface
Running the app
Allowing picture taking
Temporarily saving a photo
Populating our photo grid
Refactoring to respect model-view-controller
Permanently saving a photo
Summary
Chapter 12: What's Next? – Resources, Advice, and the Next Steps
Apple's documentation
Forums and blogs
Prominent figures
Podcasts
Summary
Chapter 13: Welcome to the World of Swift
The first look at Swift
Summary
Chapter 14: Building a Guess the Number App
The app is…
Summary
Chapter 15: A Memory Game in Swift
The app is…
Building the skeleton of the app
The menu screen
The game screen
Connecting the dataSource and the delegate
Implementing a deck of cards
Finishing the game
Summary
Chapter 16: A TodoList App in Swift
The app is…
Building a skeleton app
Building the Todos screen
Adding a Todo task
Summary
Chapter 17: A Pretty Weather App
The app is…
Building the skeleton
Implementing the UI
Completing the UI
Blurring the background
Downloading the background image
Geolocalising the app
Retrieving the actual forecast
Connecting to the server
Where do we go from here?
Summary
Chapter 18: Flappy Swift
The app is…
Building the skeleton of the app
A stage for a bird
A flying bird
Pipes!
Making the components interact
Completing the game
Summary
Chapter 19: Polishing Flappy Swift
Adding juiciness
Integrating with Game Center
Summary
Chapter 20: Cube Runner
The app is…
Introduction to SceneKit
Implementing Cube Runner
Flying in a 3D world
Adding a few touches
Summary
Chapter 21: Completing Cube Runner
Creating a real game
Summary
Chapter 22: ASAP – an E-commerce App in Swift
The app is…
The skeleton app and register screen
The ASAP e-commerce store
The ASAP cart
Summary
Chapter 23: ASAPServer, a Server in Swift
The interface of the ASAP Server
One skeleton server for two OSes
The ASAPServer
Connecting the ASAP app
Summary
Chapter 24: Taking the First Steps with Swift
What is Swift?
Playgrounds
Hello World
Summary
Chapter 25: Learning about Variables, Constants, Strings, and Operators
Constants and variables
Operators
Summary
Chapter 26: Using Collections and Cocoa Data Types
Swift collection types
Mutability
Arrays
Dictionaries
Set
Tuples
Using Cocoa data types
Foundation data types
Summary
Chapter 27: Control Flow and Functions
What we have learned so far
Control flow
Functions
Putting it all together
Summary
Chapter 28: Classes and Structures
What are classes and structures?
Creating a class or structure
Custom initializers
Inheritance
Overriding methods and properties
Protocols
Protocol syntax
Extensions
Memory management
Summary
Chapter 29: Using Protocols and Protocol Extensions
Protocols as types
Polymorphism with protocols
Type casting with protocols
Protocol extensions
Summary
Chapter 30: Writing Safer Code with Availability and Error Handling
Error handling prior to Swift 2.0
Error handling in Swift 2
The availability attribute
Summary
Chapter 31: Working with XML and JSON Data
XML and JSON
Common files
XML and the NSXMLParser class
Using the NSXMLParserDelegate protocol
Parsing XML documents
XML and manually building XML documents
JSON and NSJSONSerialization
Summary
Chapter 32: Custom Subscripting
Introducing subscripts
Subscripts with Swift arrays
Read and write custom subscripts
Read-only custom subscripts
Calculated subscripts
Subscript values
Subscripts with ranges
External names for subscripts
Multidimensional subscripts
When not to use a custom subscript
Summary
Chapter 33: Using Optional Types
Introducing optionals
The need for optional types in Swift
Optional chaining
Summary
Chapter 34: Working with Generics
An introduction to generics
Generic functions
Generic types
Associated types
Summary
Chapter 35: Working with Closures
An introduction to closures
Simple closures
Shorthand syntax for closures
Using closures with Swift's array algorithms
Standalone closures and good style guidelines
Changing functionality
Selecting a closure based on results
Creating strong reference cycles with closures
Summary
Chapter 36: Using Mix and Match
What is mix and match
Using Swift and Objective-C together in the same project
Summary
Chapter 37: Concurrency and Parallelism in Swift
Concurrency and parallelism
Summary
Chapter 38: Swift Formatting and Style Guide
What is a programming style guide?
Your style guide
Summary
Chapter 39: Network Development with Swift
What is network development?
An overview of the URL session classes
REST web services
Making an HTTP GET request
Making an HTTP POST request
Checking network connection
RSNetworking2 for Swift 2
Summary
Chapter 40: Adopting Design Patterns in Swift
Value versus reference types
What are design patterns
Creational patterns
Structural design patterns
Behavioral design patterns
Summary

Book Details

ISBN 139781787120242
Paperback1027 pages
Read More
From 2 reviews

Read More Reviews

Recommended for You

Test-Driven iOS Development with Swift 3 Book Cover
Test-Driven iOS Development with Swift 3
$ 31.99
$ 22.40
Android: Programming for Developers Book Cover
Android: Programming for Developers
$ 71.99
$ 50.40
Swift 3 Protocol-Oriented Programming - Second Edition Book Cover
Swift 3 Protocol-Oriented Programming - Second Edition
$ 31.99
$ 22.40
Python: Journey from Novice to Expert Book Cover
Python: Journey from Novice to Expert
$ 69.99
$ 49.00
Swift 3 Game Development - Second Edition Book Cover
Swift 3 Game Development - Second Edition
$ 31.99
$ 22.40
Swift iOS Programming for Kids Book Cover
Swift iOS Programming for Kids
$ 27.99
$ 19.60