Mastering iOS 10 Programming

Unlock the full potential of iOS 10 programming with Swift 3.0 to build rich and powerful applications

Mastering iOS 10 Programming

Mastering
Donny Wals

Unlock the full potential of iOS 10 programming with Swift 3.0 to build rich and powerful applications
$39.99
$49.99
RRP $39.99
RRP $49.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2017

With unlimited access to a constantly growing library of over 4,000 eBooks and Videos, a subscription to Mapt gives you everything you need to learn new skills. Cancel anytime.

Free Sample

Book Details

ISBN 139781786469359
Paperback514 pages

Book Description

With usage of apps growing rapidly, mobile application development has become the most sought-after skill set. Within the mobile market, iOS commands a massive presence and is a highly lucrative platform. The goal of our book is to help you become a professional developer by unleashing the full potential of iOS 10 to build applications.

Written with the latest Swift version and following the latest Swift API design guidelines, you won’t just learn how to program for iOS 10—you’ll also learn how to write beautiful, readable, and maintainable Swift code that’s in line with the industry’s best-practices. The progression of the book reflects the real-world development flow: it will quickly brush on the essentials at the beginning and then move on to the advanced concepts crucial to building powerful applications.

Within the book, you will build a couple of small applications that resemble applications you might want to build in the real world. You will be reading a mix of thorough background information and practical examples, so you’ll know how to make use of a certain technique right away while you also get a great understanding of the how and why.

Table of Contents

Chapter 1: UITableView Touch Up
Setting up the User Interface (UI)
Fetching a user's contacts
Creating a custom UITableViewCell for our contacts
Displaying the list of contacts
Under the hood of UITableView performance
UITableViewDelegate and interactions
Summary
Chapter 2: A Better Layout with UICollectionView
Converting from a UITableView to UICollectionView
Creating and implementing a custom UICollectionViewCell
Understanding the UICollectionViewFlowLayout and its delegate
Creating a custom UICollectionViewLayout
UICollectionView performance
User interactions with UICollectionView
Summary
Chapter 3: Creating a Contact Detail Page
Universal applications
Implementing navigation with segues
Creating adaptive layouts with Auto Layout
Easier layouts with UIStackView
Passing data between view controllers
Summary
Chapter 4: Immersing Your Users With Animation
UIView animation basics
Adding vibrancy to animations with springs
Taking control of animations with UIViewPropertyAnimator
Customizing view controller transitions
Summary
Chapter 5: Improving Your Code with Value Types
Understanding reference types
Understanding value types
Using structs to improve your code
Containing information in enums
Summary
Chapter 6: Avoiding Complex Inheritance with Protocols
Defining your own protocols
Checking for traits instead of types
Summary
Chapter 7: Refactoring the HelloContacts Application
Properly separating concerns
Adding protocols for clarity
Summary
Chapter 8: Adding Core Data to your App
Understanding the Core Data stack
Adding Core Data to an application
Summary
Chapter 9: Storing and Querying Data in Core Data
Inserting data with Core Data
Reading data with a simple fetch request
Filtering data with predicates
Reacting to database changes
Summary
Chapter 10: Fetching and Displaying Data from the Network
Fetching data from the Web
Working with JSON in Swift
Updating Core Data objects with fetched data
Wrapping the feature up
Summary
Chapter 11: Being Proactive with Background Fetch
Understanding how background fetch works
Implementing the prerequisites for background fetch
Updating movies in the background
Updating movies in the background
Summary
Chapter 12: Enriching Apps with the Camera, Motion and Location
Accessing and using the camera, the simple way
Implementing CoreMotion
Using CoreLocation to locate your users
Finishing the ArtApp login screen
Summary
Chapter 13: Displaying Contents of your App in Spotlight
Understanding Spotlight search
Adding your app contents to the Spotlight index
Indexing with CSSearchableItem
Understanding Spotlight best practices and rating
Summary
Chapter 14: Making the Web and your App Meet through Universal Links
Understanding Universal Links
Preparing your server for Universal Links
Implementing Smart App Banners
Handling Universal Links in your app
Helping your users to log in seamlessly
Summary
Chapter 15: Instant Information with a Notification Center Widget
Understanding the anatomy of a Today Extension
Adding a Today Extension to your app
Sharing data with App Groups
Summary
Chapter 16: Implementing Rich Notifications
Gaining a deep understanding of notifications
Scheduling and handling notifications
Implementing Notification Extensions
Summary
Chapter 17: Extending iMessage
Understanding iMessage apps
Creating an iMessage sticker pack
Implementing custom, interactive iMessage apps
Understanding sessions, messages, and conversations
Summary
Chapter 18: Integrating Your App with Siri
Understanding intents and vocabularies
Handling intents in your extension
Adding a custom UI to Siri
Summary
Chapter 19: Ensuring App Quality with Tests
Testing logic with XCTest
Testing the user interface with XCUITest
Summary
Chapter 20: Discovering Bottlenecks with Instruments
Exploring the Instruments suite
Discovering slow code
Closing memory leaks
Summary
Chapter 21: Offloading Tasks with Operations and GCD
Writing asynchronous code
Creating reusable tasks with Operations
Summary
Chapter 22: Wrapping Up the Development Cycle and Submitting to the App Store
Adding your application to iTunes Connect
Packaging and uploading your app for beta testing
Preparing your app for launch
Summary

What You Will Learn

  • Write beautiful Swift code with Protocol-Oriented Programming and best practices
  • Create rich views and layouts with responsive animations and transitions.
  • Handle data, both from the web and offline
  • Integrate with iOS and improve the user experience with app extensions
  • Make sure that your app is of outstanding quality with XCTest
  • Measure and improve performance by using Xcode Instruments
  • Embrace the latest extension features in iOS 10 such as the new rich notifications, SiriKit, and iMessage

Authors

Table of Contents

Chapter 1: UITableView Touch Up
Setting up the User Interface (UI)
Fetching a user's contacts
Creating a custom UITableViewCell for our contacts
Displaying the list of contacts
Under the hood of UITableView performance
UITableViewDelegate and interactions
Summary
Chapter 2: A Better Layout with UICollectionView
Converting from a UITableView to UICollectionView
Creating and implementing a custom UICollectionViewCell
Understanding the UICollectionViewFlowLayout and its delegate
Creating a custom UICollectionViewLayout
UICollectionView performance
User interactions with UICollectionView
Summary
Chapter 3: Creating a Contact Detail Page
Universal applications
Implementing navigation with segues
Creating adaptive layouts with Auto Layout
Easier layouts with UIStackView
Passing data between view controllers
Summary
Chapter 4: Immersing Your Users With Animation
UIView animation basics
Adding vibrancy to animations with springs
Taking control of animations with UIViewPropertyAnimator
Customizing view controller transitions
Summary
Chapter 5: Improving Your Code with Value Types
Understanding reference types
Understanding value types
Using structs to improve your code
Containing information in enums
Summary
Chapter 6: Avoiding Complex Inheritance with Protocols
Defining your own protocols
Checking for traits instead of types
Summary
Chapter 7: Refactoring the HelloContacts Application
Properly separating concerns
Adding protocols for clarity
Summary
Chapter 8: Adding Core Data to your App
Understanding the Core Data stack
Adding Core Data to an application
Summary
Chapter 9: Storing and Querying Data in Core Data
Inserting data with Core Data
Reading data with a simple fetch request
Filtering data with predicates
Reacting to database changes
Summary
Chapter 10: Fetching and Displaying Data from the Network
Fetching data from the Web
Working with JSON in Swift
Updating Core Data objects with fetched data
Wrapping the feature up
Summary
Chapter 11: Being Proactive with Background Fetch
Understanding how background fetch works
Implementing the prerequisites for background fetch
Updating movies in the background
Updating movies in the background
Summary
Chapter 12: Enriching Apps with the Camera, Motion and Location
Accessing and using the camera, the simple way
Implementing CoreMotion
Using CoreLocation to locate your users
Finishing the ArtApp login screen
Summary
Chapter 13: Displaying Contents of your App in Spotlight
Understanding Spotlight search
Adding your app contents to the Spotlight index
Indexing with CSSearchableItem
Understanding Spotlight best practices and rating
Summary
Chapter 14: Making the Web and your App Meet through Universal Links
Understanding Universal Links
Preparing your server for Universal Links
Implementing Smart App Banners
Handling Universal Links in your app
Helping your users to log in seamlessly
Summary
Chapter 15: Instant Information with a Notification Center Widget
Understanding the anatomy of a Today Extension
Adding a Today Extension to your app
Sharing data with App Groups
Summary
Chapter 16: Implementing Rich Notifications
Gaining a deep understanding of notifications
Scheduling and handling notifications
Implementing Notification Extensions
Summary
Chapter 17: Extending iMessage
Understanding iMessage apps
Creating an iMessage sticker pack
Implementing custom, interactive iMessage apps
Understanding sessions, messages, and conversations
Summary
Chapter 18: Integrating Your App with Siri
Understanding intents and vocabularies
Handling intents in your extension
Adding a custom UI to Siri
Summary
Chapter 19: Ensuring App Quality with Tests
Testing logic with XCTest
Testing the user interface with XCUITest
Summary
Chapter 20: Discovering Bottlenecks with Instruments
Exploring the Instruments suite
Discovering slow code
Closing memory leaks
Summary
Chapter 21: Offloading Tasks with Operations and GCD
Writing asynchronous code
Creating reusable tasks with Operations
Summary
Chapter 22: Wrapping Up the Development Cycle and Submitting to the App Store
Adding your application to iTunes Connect
Packaging and uploading your app for beta testing
Preparing your app for launch
Summary

Book Details

ISBN 139781786469359
Paperback514 pages
Read More

Read More Reviews