iOS App Development — Fundamentals

Paths

iOS App Development — Fundamentals

Authors: Simon Allardice, Jonathan Wong, Andrew Bancroft, Mark Moeykens, Harrison Ferrone

Learn to build iOS apps for iPhone and iPad. You'll begin with the Swift programming language, explore Apple's Xcode IDE and cover all the essential concepts, architectural... Read more

What You Will Learn

  • The Swift Programming Language
  • Xcode and other iOS Development Tools
  • Building your first iOS application
  • Testing and debugging Android apps
  • Creating Adaptive User Interfaces
  • Multiple Options for Data Persistence

Pre-requisites

Basic programming experience

Getting Started

Any iOS development begins with a firm foundation: here, we dive into the Swift programming language, use Xcode to manage iOS projects and create adaptive iOS user interfaces, and explore the fundamental principles, software patterns and techniques you'll need in any iOS app you make.

Swift Fundamentals

by Simon Allardice

Jan 10, 2019 / 3h 48m

3h 48m

Start Course
Description

At the core of developing for any Apple platform iOS, macOS, tvOS, or watchOS - is a thorough knowledge of Swift. In this course, Swift Fundamentals, you will learn to be comfortable and competent in this concise and powerful language. You will learn how this language works with data, move beyond the basics of control flow into closures and extensions, and you'll finally learn how to adopt the mindset of protocol-oriented programming, to tap into the huge amount of functionality that already exists in the Swift world. When you're finished with this course, you will have a foundational knowledge of Swift that will help you as you move forward to developing apps on iPhone, iPad, or Mac.

Table of contents
  1. A Few More Reasons to Learn Swift
  2. Piece by Piece: What Your Data Means
  3. Shaping the Path: Controlling the Flow of Your Code
  4. Constructing Code: Who Does What? - Creating Functions
  5. Taking Data Types Further: When to Limit, Describe, and Collect
  6. Making Sense of Closures
  7. Using Classes and Objects in Swift
  8. Introducing Protocols

iOS 11 Fundamentals

by Simon Allardice

Jan 24, 2018 / 4h 23m

4h 23m

Start Course
Description

Developing for iOS is a valuable and in-demand skill, but if you haven't developed in the Apple world before, it can be surprisingly different. In this course, iOS 11 Fundamentals, you'll quickly get up and running using Xcode 9 and Swift 4 to build great iOS apps and tap into the latest features in iOS 11. First, you'll see the tools and learn how to create iOS apps with adaptive user interfaces that work on multiple devices (including iPhone X). Then, you'll learn how to manage iOS projects and define the building blocks of your own iOS applications. Finally, you'll explore working with data-driven controls and understand navigation options. By the end of the course, you'll know current best practices, iOS architecture, and the most important ideas you need to feel comfortable bringing your developer skills into the iOS and Apple developer world.

Table of contents
  1. Course Overview
  2. Getting Started
  3. Building Single View Applications
  4. Creating and Configuring iOS Tables
  5. Defining Custom Table Cells
  6. Creating iOS Apps with Multiple Screens
  7. Using Auto Layout and Stack Views
  8. Creating Adaptive UI Using Traits and Size Classes
  9. Putting It All Together
  10. Finishing Touches

Intermediate

Once you're comfortable with the basics, start building your iOS skills by exploring more about debugging, testing, building iOS user interfaces that adapt to any device, and diving deeper into the iOS app construction and lifecycle.

Becoming an Xcode Power User

by Jonathan Wong

Apr 2, 2019 / 2h 34m

2h 34m

Start Course
Description

Spending time to really understand and learn the tools at your disposal will make you more effective and more productive in your long career as a developer for Apple platforms. In this course, Becoming an Xcode Power User, you will learn the skills necessary to work proficiently as an iOS developer by effectively leveraging the power of Xcode. First, you will cover some of the core concepts in Xcode to better understand how to use Xcode’s higher level features. Then, you will explore how to navigate efficiently through Xcode in order for you to find your best workflow. From there, you will learn about various features that empower developers to be more productive like open quickly, refactoring, and code folding to name a few. Next, you will spend time learning how to use Git with Xcode, allowing you to stay in Xcode as you build software. Finally, you will discover how to customize and configure your workflow even more with custom behaviors, code snippets, and custom themes. By the end of this course, you will know the intricacies of Xcode, and have the skills necessary to effectively utilize it for your next great iOS app.

Table of contents
  1. Course Overview
  2. Managing Projects and Workspaces in Xcode
  3. Building Xcode Projects: Configuring Schemes and Targets
  4. Navigating through Xcode: Finding Your Workflow
  5. Productivity in Xcode
  6. Source Control in Xcode
  7. Configuring and Customizing Xcode with Key Bindings and Behaviors
  8. Making Xcode Work for You with Code Snippets and Documentation

iOS Data Persistence: The Big Picture

by Andrew Bancroft

Apr 29, 2019 / 1h 8m

1h 8m

Start Course
Description

You have plenty of data persistence options to choose from on iOS. In this course, iOS Data Persistence: The Big Picture, you will be empowered to distill an overwhelming amount of information down into the big picture possibilities for saving data on iOS. First, you will learn the reasons for saving data to help ground you as you begin to traverse the data persistence landscape. Next, you will discover how to use technologies like User Defaults and Property Lists, and I will guide you on how to work with Swift’s Encodable and Decodable protocols. You will understand what you’re getting into if you choose to work with SQLite, Core Data, or Realm Database for local data persistence. You will know how it feels to reach for a remote data storage option like CloudKit, Realm Platform, or Firebase. Finally, you will see a clear picture of what it’s like to design a document-based application and integrate your app’s data with the iOS Files app. When you’re finished with this course, you will have the skills and knowledge you need to make an informed decision about putting a reliable data storage plan for your iOS app into action.

Table of contents
  1. Course Overview
  2. Establishing the Data Persistence Landscape
  3. Saving Settings and Configuration
  4. Saving Objects and Object Graphs
  5. Saving Data as Documents and Files

iOS Collection Views: Getting Started

by Mark Moeykens

Jun 13, 2019 / 2h 27m

2h 27m

Start Course
Description

Have you ever wanted to learn to create visually stunning collection views but were afraid because they seemed too complex? Well, fear no more because in this course, iOS Collection Views: Getting Started, you will learn multiple ways to present amazing looking collection views in your apps! First, you will learn how to show your first collection view with just two functions. Next, you will discover layout and spacing options to take your collection views to the next level so they look great on any size device. Finally, you will explore and implement multiple, horizontally-scrolling collection views. When you have finished this course, you will have the skills and knowledge of collection views needed to use them in your apps to make your data look great!

Table of contents
  1. Course Overview
  2. Course Introduction
  3. Your First Collection View
  4. Customizing Size and Spacing
  5. Supplementary Views (Section Headers and Footers)
  6. Customizing Collection View Cells
  7. Horizontally Scrolling Collection Views
  8. Adding Multiple Collection Views to the View Controller
  9. Course Summary

iOS Networking with REST APIs

by Harrison Ferrone

Aug 20, 2019 / 1h 31m

1h 31m

Start Course
Description

Gathering, interpreting, and displaying data is one of the most fundamental features an iOS application can offer its users. In this course, iOS Networking with REST APIs , you’ll explore the skills needed to efficiently tap into web service data and translate it into usable data models. First, you’ll learn the basics of RESTful web services, along with how networking is handled in Swift. Next, you’ll explore how to make data requests, deal with the background thread, and gracefully handle feedback or errors. Finally, you’ll get hands-on experience converting data into usable objects that can be displayed to users. When you’re finished with this course, you’ll be equipped to work with REST APIs in iOS and Swift and deliver the data your users need.

Table of contents
  1. Course Overview
  2. Web Services and Networking
  3. Fetching API Data
  4. Creating Codable Data Models
  5. CRUD Operations and Authentication
  6. Intermediate Tasks, Sessions, and Queues

Testing Fundamentals in iOS

by Jonathan Wong

Aug 23, 2019 / 2h 1m

2h 1m

Start Course
Description

Code is constantly changing, features are continuously being added, and bugs are being filed. Tests allow you to be productive and ensure your application is reliable, that you can refactor your codebase with confidence, and that you really squashed that bug. In this course, Testing Fundamentals in iOS, you’ll learn the basics of how to effectively test in iOS. First, you'll explore how to set up test targets. Next, you'll learn how to write unit tests, integration tests, and UI tests. Finally, you'll delve into mocking and testing asynchronous code. By the end of this course, you’ll know the best practices in writing testable code, how to gather code coverage, and how to randomize and parallelize your tests in practice.

Table of contents
  1. Course Overview
  2. Setting up Unit Tests in Your Project
  3. Making Your Code Testable
  4. Asynchronous Testing
  5. Mocking Your Tests
  6. Code Coverage and Performance Tests
  7. UI Tests
  8. Testing Your View Controllers

Next Steps

As you get further into iOS development, your needs will become more specialized, as you pick and choose from various technologies based on the requirements of the app - here are a few examples:

CloudKit Fundamentals

by Andrew Bancroft

Sep 20, 2018 / 3h 31m

3h 31m

Start Course
Description

At the core of developing a seamless and collaborative data sharing experience for Apple’s platforms is a thorough knowledge of CloudKit. In this course, CloudKit Fundamentals, you’ll learn to leverage Apple’s flagship framework to achieve your app’s remote data storage and data sharing requirements. First, you’ll learn how to configure CloudKit in your Xcode project and how to save, query, update, and delete data that your users store in iCloud. Next, you’ll explore how to synchronize data across a user’s devices. Finally, you’ll discover how to handle CloudKit errors, test your app on physical devices, and deploy to production. When you’re finished with this course, you’ll have a foundational knowledge of CloudKit that will help you provide a fluid, interactive data sharing experience.

Table of contents
  1. Course Overview
  2. Setting up CloudKit
  3. Modeling and Saving Data
  4. Querying, Displaying, Updating, and Deleting Data
  5. Synchronizing Data Across Devices
  6. Modeling Relationships Between Record Types
  7. Planning for Production

Core Data Fundamentals with Swift

by Andrew Bancroft

Mar 31, 2017 / 4h 39m

4h 39m

Start Course
Description

Managing data is crucial to building dynamic mobile apps. You won't be able to escape the need to save data to a user's device. When that need arises, Core Data can be a powerful tool to help solve the data persistence challenges of just about any app, no matter how big or small. In this course, Core Data Fundamentals with Swift, you'll learn how to set up and architect an app with Core Data so that it's maintainable and testable. First, you'll discover how to create a data model and explore how to save, access, and delete data. Next, you'll explore how to keep a user interface in sync with the data in your persistent store as users interact with your app. Finally, you'll see how to implement changes to your data model, even after your app is published to the App Store. When you're finished with this course, you'll have the foundation you need to start using Core Data in your apps today.

Table of contents
  1. Course Overview
  2. Starting Out with Core Data
  3. Setting up the Core Data Stack
  4. Creating a Data Model
  5. Building Relationships Between Entities
  6. Saving and Accessing Data
  7. Showing and Synchronizing Data with NSFetchedResultsController
  8. Making Changes to Core Data Models with Model Versions
  9. Understanding Core Data Changes in iOS 10 and macOS Sierra

Getting Started with Server-side Swift and Vapor

by Jonathan Wong

Jan 5, 2019 / 2h 22m

2h 22m

Start Course
Description

Vapor is a powerful Server-side Swift framework for building web applications. In this course, Getting Started with Server-side Swift and Vapor, you’ll learn everything you need to know to start building web applications with Vapor. First, you’ll set up your dev environment and cover the basics of building a Vapor app on both macOS and Linux. Then, you’ll explore routing and persisting models to a database. Once the infrastructure is in place, you’ll take the next steps and build out a website to handle CRUD operations. Finally, you’ll deploy this app to two cloud platforms, Vapor Cloud and Heroku. When you’re finished with this course, you’ll have a strong understanding of Server-side Swift development and Vapor that will help you build your next web app in Swift.

Table of contents
  1. Course Overview
  2. Getting Started
  3. Routing with Controllers and Persisting with Fluent
  4. Templating with Leaf and Beautifying with Bootstrap
  5. Deploying to Vapor Cloud and Heroku
Offer Code *
Email * First name * Last name *
Company
Title
Phone
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit