Thursday, November 26, 2020

Mastering Swift 5.3

The latest edition in my Mastering Swift series has just been released.  It has been updated for the latest release of Swift and has two new chapters.

Over the years, Mastering Swift has proved itself among developers as a popular choice as an in-depth and practical guide to the Swift programming language. This sixth edition comes with the latest features, overall revision to align with Swift 5.3, and two new chapters on building swift from source and advance operators. 

From the basics of the language to popular features such as concurrency, generics, and memory management, this in-depth guide will help you develop your expertise and mastery in the language.

As you progress, you will gain practical insights into some of the most sophisticated elements in Swift development, including protocol extensions, error handling, and closures. The book will also show you how to use and apply them in your own projects. In later chapters, you will understand how to use the power of protocol-oriented programming to write flexible and easier-to-manage code. Finally, you will learn how to add the copy-on-write feature to your custom value types, along with understanding how to avoid memory management issues caused by strong reference cycles.

By the end of this book, you will have mastered the Swift 5.3 language and developed the skills you need to effectively use its features to build robust applications.

Chapter 1Taking the first steps with Swift, will introduce you to the Swift programming language and discuss what inspired Apple to create Swift. We'll also go over the basic syntax of Swift and how to use Playgrounds to experiment and test Swift code.

Chapter 2, Swift documentation and installation, will introduce the user to the swift.org and swiftdoc.org sites and how the swift development process works.  We will go through the complete process of building swift from source and installing it on both the Linux and Mac platforms.

Chapter 3Learning about variables, constants, strings and operators, will introduce variables and constants in Swift and when to use them. There will be brief overviews of the most common variable types with examples on how to use them. We'll conclude this chapter by showing examples of how to use the most common operators in the Swift language

Chapter 4Optional Types, will explain what optional types really are, what are the various ways to unwrap them. For a developer who is just learning Swift, optional types can be one of the more confusing items to learn.

Chapter 5Using Swift collections, will explain Swift's array, set, and dictionary collection types and show examples on how to use them.

Chapter 6Control Flow, will show you how to use Swift's control flow statements. These include looping, conditional, and control transfer statements.

Chapter 7Functions, This chapter is all about functions in Swift.  We will show how to define and properly use them

Chapter 8Classes, Structures and Protocols, This chapter is dedicated to Swift's classes, structures and protocols. We'll look at what makes them similar and what makes them different.

Chapter 9Protocol and Protocol Extensions, will cover both protocols and protocol extensions in detail since protocols are very important to the Swift language, and having a solid understanding of them will help us write flexible and reusable code

Chapter 10Protocol Oriented Design, will cover the best practices of Protocol Oriented Design with Swift.  

Chapter 11Generics,  will explain how Swift implements generics. Generics allow us to write very flexible and reusable code that avoids duplication 

Chapter 12Availability and Error Handlingwill cover error handling in depth as well as the availability feature.

Chapter 13Custom Subscripting, will discuss how we can use custom subscripts in our classes, structures, and enumerations. 

Chapter 14Working with Closureswill show how to define and use closures in our code. This chapter concludes with a section on how to avoid strong reference cycles with closures

Chapter 15Advanced and Custom Operators, will show how to use bitwise and overflow operators.  We will also look at how we can create custom operators

Chapter 16Concurrency and Parallelism, will show how to use both Grand Central Dispatch and Operation Queues to add concurrency and parallelism to our applications

Chapter 17Custom Value Typeswill cover some advance techniques that the reader can use in their applications like copy-on-write and implementing the equatible protocol.

Chapter 18Memory Managementwill cover items like how Automatic Reference Counting (ARC) works, how much faster value types are as compared to reference types, strong retain cycles, weak vs strong references

Chapter 19Swift Formatting, will define a style guide for the Swift language that can be used as a template for enterprise developers who need to create a style guide

Chapter 20Adopting Design Patterns with Swift, will show you how to implement some of the more common design patterns in Swift. A design pattern identifies a common software development problem and provides a strategy for dealing with it

You can purchase a copy of my book from Amazon or from Packt Publishing.