Learning Path:Swift: Protocol-Oriented Programming
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path:Swift: Protocol-Oriented Programming to your Wishlist.

Add to Wishlist

Learning Path:Swift: Protocol-Oriented Programming

Know the advantages of Swift protocols and how to use them effectively in your code
New
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5 students enrolled
Created by Packt Publishing
Last updated 9/2017
English
English [Auto-generated]
Price: $200
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Know the advantages of using protocols in your code
  • Explore the basic and advanced features of protocols
  • Create and use generic functions and types in Swift
  • Use generics with protocols in order to write powerful and flexible generic code
  • Explore some under-the-hood details of protocols that can help you use them efficiently in your code
  • Master some of the new protocol features in Swift 4
View Curriculum
Requirements
  • Working knowledge of Swift
  • No prior experience with Swift protocols is needed
Description

Swift is a general-purpose, multi-paradigm, and compiled programming language developed by Apple Inc. Protocol-oriented programming offers a lot of benefits including better code maintainability, increased developer productivity, and superior application performance. Using right protocols can transform the way you write your Swift code. If you are a Swift developer and want to improve the flexibility, maintainability, and reusability of your code, then you should surely go for this Learning Path. 

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The highlights of this Learning Path are:

  • Use protocols effectively in real-world applications
  • Solve common problems when working with protocols
  • Explore some of the new features in Swift 4 

Let's take a quick look at your learning journey. This Learning Path shows you how to get the most out of protocol-oriented programming. With useful examples and practical, step-by-step instructions, you'll create protocols and use them in your code. Taking you beyond the basics, this Learning Path teaches you advanced techniques and ways-of-thinking that will improve the way you use protocols, and shows you how to solve common problems you'll face when working with protocols. Finally, you’ll be building your first app with protocols. 

By the end of this Learning Path, you'll be ready to use protocols in production to improve the effectiveness of your code. You’ll be a protocol programming expert!


About the Author

Hamish Knight is a Computer Science undergraduate at the University of Bath in the UK with a passion for Swift. Hamish is always interested in exploring how Swift operates at a lower level, and enjoy posting answers to Swift questions on Stack Overflow. Furthermore, he has over three years of experience developing mobile apps for iOS, with four apps currently on the App Store.

Who is the target audience?
  • This Learning Path is for Swift developers who want to improve the flexibility, maintainability, and reusability of their code. Don't worry if you have no experience with protocols in Swift; this Learning Path start right from the basics of what protocols are and how you define them.
Compare to Other Swift Courses
Curriculum For This Course
38 Lectures
05:36:20
+
Getting Started with Protocols in Swift
18 Lectures 02:12:22

This video provides an overview of the entire course.

Preview 01:36

Before learning about how to define and use protocols, In this video we will start by exploring what protocols are in Swift.

Exploring Protocols
03:27

In this video, you will be shown how to define and conform to your own protocols.

Defining and Conforming to Protocols
07:45

In this video, you will be shown how to extend protocols.

Extending Protocols
06:33

In this video, we will be covering some of the great advantages of using protocols in your code.
Why Use Protocols?
07:12

In this video, you will be shown how to use protocols as types.
Using Protocols as Types
05:24

In this video, you will learn about mutating protocol requirements as well as class-bound protocols.

Preview 14:14

In this video, you will be shown how to define initialiser requirements.

Initialiser Requirements
06:02

In this video, you will be shown how to define optional protocol requirements.
Optional Requirements
04:08

In this video, you will be shown how to implement a workaround for adding stored properties to conforming types in protocol extensions.

Stored Properties in Protocol Extensions
06:10

In this video, you will learn about associated type requirements in protocols.


Preview 08:16

In this video, you will be shown how to use Self requirements in protocols, as well as the Self metatype in protocol extensions.

Self Requirements
07:07

In this video, you will be shown how to define operator protocol requirements.

Operator Requirements
04:38

In this video, you will be shown how to constrain protocol extensions so that they only apply to specific conforming types.

Where Clauses in Extensions
05:32

In this video, you will be introduced to Generics.

Preview 11:35

In this video, you will be shown how to use protocols with generic placeholders.

Using Protocols with Generics
09:48

In this video, you will be shown how to refine extensions on generic types.
Using Protocols to Refine Extensions on Generic Types
09:30

In this video, you will be shown how to use the standard library protocols Equatable, Comparable & Hashable.

Equatable, Comparable, and Hashable
13:25
+
Build Your Swift App Using Protocols
20 Lectures 03:23:58

This video provides an overview of the entire course.

Preview 02:45

You will be shown a couple of inheritance patterns that are better implemented with protocols.

Using Protocols Over Inheritance
16:47

The aim of this video is to explain why protocols aren’t just made up of interface requirements.

The Importance of Protocol Semantics
09:37

In this video, you will be shown how to perform delegation with protocols.

Delegation with Protocols
11:04

In this video, you will be shown the power that protocols bring to unit tests.

Testing with Protocols
07:59

In this video, you will be shown the OptionSet and Sequence standard library protocols.

OptionSet and Sequence
13:32

You will be shown the collection family of protocols in the standard library, which describe a collection of elements.

Collection Family of Protocols
21:17

In this video, you will be shown how protocols can be used in an iOS application.

Building an App with Protocols
21:48

We will be delving into how protocol-typed instances are stored in the memory.

Preview 09:26

Following on from the last video, learn about the difference in dispatch when calling methods on a protocol-typed instance.
Dispatch of Protocol Requirements
04:46

You will be shown some of the differences between constrained generic placeholders and protocol types, mainly in the context of function parameters.

Constrained Generic Placeholder versus Protocol Type
11:28

In this video, we will be taking a look at how type erasers can be used to work around common protocol limitations.
Preview 11:53

In this video, we will be looking at how closures can be used in order to simplify generic code.
Simplifying Protocol Architectures with Closures
11:49

This video aims to show how to architect a class so that a subclass can override an operator conformance by its superclass.
Overriding Operator Conformance
07:57

In this video, we will be taking a look at how casts to collections of protocol-typed elements can be cheapened using a “protocol tag”.

Avoiding Expensive Casts
05:56

In this video, we will be taking a look at two workarounds for the lack of conditional conformances.
Working Around the Lack of Conditional Conformances
07:18

In this video, we will be taking a look at a workaround for the lack of parameterised extensions.
Using Protocols to Allow Parameterised Extensions
05:11

In this video, we will be taking a look at how in Swift 4, you will be able to use where clauses on associated types.

Preview 13:50

In this video, we will be taking a look at how a future version of the language will allow for conditional conformances.

Working with Conditional Conformances
04:42

This video aims to show how you can express the type of something that both inherits from a given class and conforms to one or more protocols in Swift 4.

Class and Subtype Existentials
04:53
About the Instructor
Packt Publishing
3.9 Average rating
8,249 Reviews
59,096 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.