Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Swift 4 Protocol-Oriented Programming
Rating: 4.1 out of 5(29 ratings)
154 students

Swift 4 Protocol-Oriented Programming

Master multithreading and concurrent processing with C++
Last updated 1/2018
English

What you'll learn

  • Understand the differences between Object-Oriented Programming and Protocol-Oriented Programming
  • Explore the different types that Swift offers and what pitfalls to avoid
  • Delve into generics and generic programming
  • Learn how to implement Copy-On-Write within your custom types
  • Implement several design patterns in a protocol-oriented way
  • Design applications by prioritizing the protocol first and the implementation types second

Course content

8 sections33 lectures2h 54m total length
  • The Course Overview2:30

    This video gives an overview of the entire course. 

  • Protocol Syntax and Inheritance5:26

    In this video, we will look at how to define a protocol, how to add requirements to it and how protocol inheritance works. 

  • Using Protocols as a Type2:08

    Even though no functionality is implemented in a protocol, they are still considered a full-fledged type in the Swift programming language, and can mostly be used like any other type. 

  • Polymorphism with Protocols1:37

    Polymorphism lets us interact with multiple types through a single uniform interface. In the object-oriented programming world, the single uniform interface usually comes from a superclass, while in the protocol-oriented programming world, that single interface usually comes from a protocol. 

  • Type Casting and Associated Types with Protocols4:08

    Type casting is a way to check the type of an instance and/or to treat the instance as a specified type. Also, when defining a protocol, there are times when it is useful to define one or more associated types. We’ll see that as well in this video.

  • Delegation4:14

    Delegation is used extensively within the Cocoa and Cocoa Touch frameworks. The delegation pattern is a very simple but powerful pattern where an instance of one type acts on behalf of another instance. 

  • Designing with Protocols7:12

    With protocol-oriented programming, we should always begin our design with the protocols, but how should we design these protocols? Let’ see that in this video. 

Requirements

  • Should have knowledge of Swift

Description

Swift has become the number one language used in iOS and macOS development. The Swift standard library is developed using Protocol-Oriented Programming techniques, generics, and first-class value semantics; therefore, every Swift developer should understand these powerful concepts and how to take advantage of them in their application design.

This course will help you understand the differences between Object-Oriented Programming and Protocol-Oriented Programming. It demonstrates how to work with Protocol-Oriented Programming using real-world use cases. You will gain a solid knowledge of the various types that can be used in Swift and the differences between value and reference types. You will be taught how Protocol-Oriented Programming techniques can be used to develop very flexible and easy-to-maintain code.

By the end of the course, you will have a thorough understanding of Protocol-Oriented Programming and how to utilize it to build powerful and practical applications.

About the authr

Jon Hoffman has over 25 years of experience in the field of information technology. Over these years, Jon has worked in the areas of system administration, network administration, network security, application development, and architecture. Currently, Jon works as a senior software engineer for Syn-Tech Systems.

Jon has developed extensively for the iOS platform since 2008. This includes several apps that he has published in the App Store, apps that he has written for third parties, and numerous enterprise applications. He has also developed mobile applications for the Android and Windows platforms. What really drives Jon the challenges that the field of information technology provides and there is nothing more exhilarating to him than overcoming a challenge.

Some of Jon’s other interests are spending time with his family, robotic projects, and 3D printing. Jon also really enjoys Tae Kwon Do, where he and his oldest daughter Kailey earned their black belts together early in 2014, Kim (his wife) earned her black belt in December 2014, and his youngest daughter Kara is currently working towards her black belt.

Who this course is for:

  • This course is written for developers who learn best by working with code, so every concept discussed in this course is reinforced with real code examples.