Skip to content
UdemyiOS SwiftPaid courseIntermediate levelCertificate

Protocol Oriented Programming in Swift 4 and iOS 11 (Udemy.com)

Learn the power of Protocol Oriented Programming in Swift 4 and iOS 11

Created by: Andi Setiyadi

Last updated February 2019

icon
What you will learn

  • Understand what Protocol Oriented Programming is in Swift
  • Apply the Protocol Oriented Programming in developing iOS application.
  • Identify the potential aspect of the project that can benefit from protocol oriented programming approach.

How it compares

Against the other 160 rated Udemy courses in iOS Swift on CourseDuck:

  • Rating4.3 out of 5higher than 17% of them
  • Reviews209#102 of 161 by number of reviews
  • Length2.4 hoursshorter than 92% of them
  • Last updatedFebruary 2019earlier than 65% of them

icon
Course Description

Protocol Oriented Programming has gained some traction and widely adopted ever since the WWDC talk by Dave Abrahams. Most of us already familiar with Object Oriented programming for so many years, especially with the fact that the Cocoa Touch library has been using this approach. Objective-C has used the Protocol to some degree but Swift has added more powerful features to Protocol Oriented Programming. 

In this course we will look into Protocol Oriented Programming in Swift more closely and deeper to find out what it can deliver in helping us with our projects. We will start off with the understanding of Class and Struct, and how to properly initialized them based on our needs. 

Class and Struct have their differences and it will impact what kind and how they can adopt to certain Protocols.  Different types of Protocol property and method declarations will also affect the type of objects that can conform to its requirements.  

Probably the most common use of Protocol is its role on Protocol - Delegate pattern. However we will explore many different Protocol capabilities and features, such as Protocol as type, inheritance, extension, conformance, composition, typealias to name a few.  

I hope you can see the opportunity and the potential of what Protocol Oriented Programming can do in your project and am looking forward to have you joining this course.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Andi Setiyadi


Andi Setiyadi is a Senior iOS Developer and has been working at Fortune 25 Company for the last few years.  He has been involved in iOS projects for IBM, Universal Studio Orlando, Verizon and the most recent at Major League Baseball.  He is passionate about iOS mobile development starting with Objective-C and fell in love with Swift, and been part of the early adopter.  He truly believes Swift will become one of the development languages of the future.

He lives in the beautiful state of Colorado in the United States and while he is not busy coding, he enjoys biking and skiing.  His motto is never stop learning and share the knowledge.  One of his favorite quotes: “Winning isn’t everything, but wanting to win is”.


icon
More courses by Andi Setiyadi

$64.99

$44.99

icon
More iOS Swift courses

$109.99

$69.99

$79.99

$84.99

Free

$109.99

icon
Reviews

4.3

209 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By DUBIEN Jean-Louis on 8/21/2019

Peu d’informations pour ce sujet, et même de littérature. C’était donc un bon choix. Mais il serait bon de ne pas trop conserver les mêmes exemples qui font qu’une leçon est parfois trop dense, par exemple avec la leçon sur le protocole composition. Mais merci beaucoup.

By Gábor Rácz on 10/5/2018

Really great course exposing Protocol-Orientated Programming. I really appreciate that he takes his time, explaining each step. Each new lesson builds onto the previous one, but he always does a recap before diving into the new lesson, so each lesson can stand on its own if needed. I will definitely be coming back to this course for reminders and go-to-tricks. A good purchase, all in all!

By Barbara Wait on 9/13/2018

I learned two great things from this course: 1. How adding an extension to a protocol that provides a default implementation is very powerful for adding functionality to a class or struct by just adopting the protocol and calling its methods. 2. Using the protocol as a type for a collection allows for polymorphism on the protocol methods. Also very powerful.

By Bob Esponjoso on 8/31/2018

Enjoyed the course very much. Good explanations and examples of the "how" to do protocol oriented programming. Would be five star with a section on the "why" with pro's and con's - I suggest maybe having an OOP 'before' and POP 'after' example. Could even use the property management example - first show it written with OOP approach then written using POP. Thanks and Cheers!

By Chuck Krutsinger on 5/8/2018

This is a good course as far as it goes. However, I was hoping for more depth. I think this course could benefit from a sample project (or projects) that put the ideas into practice. The WWDC presentations on Protocol Oriented Development go into further depth and provide some very practical example. This course is better than those in that it goes more slowly and helps you absorb the concepts as you go. However, it stops before some of the more sophisticated uses of POP are brought into play in a meaningful way. I recommend it for someone new to Swift and POP, but would look elsewhere if you are seasoned and want deeper material.

By Adrián Gómez on 3/21/2018

Very clear and concise explanations, dynamic way exposing the problem and possible solutions with understandable voice. It would be 5stars+ with some more advanced content about protocols and generics for example like type erasure. Overall very good job, 100% recommended

By David Johnson on 2/17/2018

Very clear instructions, and a good variety of samples on how to properly use protocols. I’d love to see at least one example of the protocol/delegate use when not using segues. When passing data from one view controller to another when views are set up programmatically (rather than storyboard) it would be helpful to see a sample of using protocols and delegates in this case.

By Александр Казарцев on 8/28/2017

Although the course was structured and author's speech was quite understandable these materials never touched theme of pop. Just watch those darn 45 minutes of video and you will find selective protocol extensions with "where" (constrained extensions), you will find how multiple inherinace problem is solved by swift. Why and where it is needed to use "self" in object methods. Why as?! Is actually a code smell, why we should use equatable. I don't know about other students, but after 6 years of objective-c, I was trying to figure out about Paradigm of Pop not extensions which also present in objc as @concreteProtocol. So dissapointed actually...it is a waste of money after cs193p.

By Sancho on 7/26/2017

Best course on the topic of protocols, starts from the basics then builds on top of that to show how protocols are structured, used and executed. I had no idea what protocols were, and now have a basic understanding on how to build a protocol that can work for both a class and a struct. Thanks again for making a great course!!!

By FriskoPZ on 7/19/2017

Great information on protocol oriented programming. It certainly open my eyes on what protocol can do and I can see opportunity in implementing it on my projects. The lecture on object initializer also has some useful hints on object initialization that I am not aware before. Looking forward to finishing up this course.

Showing all 10 reviews on CourseDuck

Read all 209 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100