The 8 best swift Books of all time for advanced programmers

A data-backed answer

🦅

Methodology

There are countless lists on the internet claiming to be the list of must-read swift books and it seemed that all those lists always recommended that same books minus two or three odd choices.

Finding good resources for learning programming is always tricky. Every-one has its own opinion about what book is the best to learn, and as we say in french, “Color and tastes should not be argued about”.

However I though it would be interesting to trust the wisdom of the crown and to find the books that appeared the most in those “Best swift Book” lists.

If you want to jump right on the results go take a look below at the full results. If you want to learn about the methodology, bear with me.

I’ve simply asked Google for a few queries like “Best swift Books” and its variations of. I have then scrapped all those pages (using ScrapingBee, a web scraping API I’m working on).

I’ve deduplicated the links and ended up with nearly 4 links. Using the title of the pages I was also able to quickly discards:

I ended up with almost 4 HTML files. I went on opening all the files on my browser, open my chrome inspector, found and wrote the CSS selector matching book titles in the article. This took me around 1hours, almost 30 seconds per page.

This also allowed me to discard even more nonrelevant pages, and I discarded a lot. In the end I compiled around 2 lists into this one.

Book titles were then extracted with manuel extraction and some web scraping.

I ended up with a huge list of books, not usable without some post-processing.

To find the most quoted swift books I needed to normalize my results.

I had to play with all the different variation like “{title} by {author}” or “{title} - {author}”.

Or “{title}:{subtitle}” and “{title}”, or even all the one containing edition number.

And afterquite a bit of manual cleaning.

My list now looked like this:

From there it was easy to compute the most recommended books. You can find all the data used to process this list on this repo. Now let’s take a look at the list:

I've also recently used some data from different book sellers in order to not forget important books and try to give more weight to books with incredible reviews.

Results

8
)

Swift: Advanced Detailed Approach to Master Swift Programming with Latest Updates

by
MG Martin & William Bahl & MGC Publishing
5.5
% recommend
🛒   Buy
How do you handle changes in Swift as you continue to learn how to develop IOS apps? It is very disappointing that many new IOS developers face this issue. Apple is regularly changing rapidly.

The Swift programming language is innovative, safe, and young. So, how do you stay updated with the latest information and avoid being left behind with the most recent developments? Starters in IOS development tend to depend on Stack Overflow to find help with programming problems.

In fact, many programmers tend to check on the Swift syntax on the Stack-overflow. These developers cut-and-paste the code into Xcode.

Perhaps when Swift 3.0 was out, the code that you copied from Stack-overflow wouldn’t work, and the reason is that it was written in Swift 2.1. In other words, your Xcode required Swift 3.0, and so, you got struck rewriting parts of the code to the newer version.

And this sucks. To help you stay updated with the latest changes in Swift programming, this audiobook will guide you through some of the recent updates released in Swift.

Whether you are a starter to IOS development, or you want to stay updated with the current changes in Swift programming language, this book will help you learn important concepts that you need to stay familiar with. When you learn a new concept, you must have a “hook” to link new information onto.

This is the way our brains work. When you don’t have this hook, you are less likely to understand anything that you try to learn.
Amazon.com
7
)

Advanced iOS App Architecture (Second Edition): Real-World App Architecture in Swift

by
raywenderlich Tutorial Team & Rene Cacheaux & Josh Berlin
8.7
% recommend
🛒   Buy
Apply Different Architectures to Your Codebase! Advanced iOS App Architecture guides you through building one real-world app written in different architectures to give you hands-on and practical experience working in different architectures. This book will also guide you through the theory you need to gain a solid foundation of architecture concepts so that you can make your own informed decisions on how to use them in your codebase.

Who This Book Is For This book is for intermediate iOS developers who already know the basics of iOS and are looking to build apps using defined architectures, making apps cleaner and easier to maintain. Topics Covered in Advanced iOS App Architecture Navigating Architecture Topics: Learn the theory behind various architectures to help inform which works best for you in different situations you may face.

Managing Dependencies: Learn how to manage dependencies both internally and externally within your app. MVVM Architecture: Explore the history of the MVVM architecture and begin building KOOBER — the book’s project app — using MVVM principles.

Redux Architecture: Explore the history of the Redux architecture and continue building KOOBER using Redux principles. Elements Architecture: Explore the history of the Elements architecture and continue building KOOBER using Elements principles.

After reading this book, you’ll have the knowledge to decide which types of architecture components suit your apps and you’ll have a deep understanding of the covered architectures. About the iOS Architecture Team The architecture team is a group of seasoned developers who work for large multi-national companies who deal with large and diverse code bases on a daily basis.

The knowledge procured over years of development is now being transferred to you through book. We hope you enjoy the book and, hopefully, you’ll apply some of the architectures you’ve learned to your own apps!
Amazon.com
6
)

App Architecture: iOS Application Design Patterns in Swift

by
Chris Eidhof & Matt Gallagher & Florian Kugler
9.7
% recommend
🛒   Buy
This book explains a range of application design patterns and their implementation techniques using a single example app, fully implemented in five design patterns. Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address: constructing the app’s components, communicating between the view and the model, and handling non-model state.

We show high-level solutions to these problems and break them down to the level of implementation for five different design patterns — two commonly used and three more experimental. The common architectures are Model-View-Controller and Model-View-ViewModel + Coordinator.

In addition to explaining these patterns conceptually and on the implementation level, we discuss solutions to commonly encountered problems, like massive view controllers. On the experimental side we explain View-State-Driven Model-View-Controller, ModelAdapter-ViewBinder, and The Elm Architecture
Amazon.com
5
)

Mastering Swift 5.3: Upgrade your knowledge and become an expert in the latest version of the Swift programming language, 6th Edition

by
Jon Hoffman
10.0
% recommend
🛒   Buy
A comprehensive guide for programming enthusiasts who wish to gain a firm command of the fundamentals and advanced Swift concepts Key Features Sixth edition of this bestselling book, improved and updated to cover the latest version of the Swift 5.3 programming language Get to grips with popular and modern design techniques to write easy-to-manage Swift code Use core Swift features such as concurrency, generics, and copy-on-write in your code Book Description Over the years, Mastering Swift has proven itself among developers as a popular choice for an in-depth and practical guide to the Swift programming language. This sixth edition comes with the latest features, an overall revision to align with Swift 5.3, and two new chapters on building swift from source and advanced 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 of 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 in Swift.

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 Swift 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.

What you will learn Understand core Swift components, such as operators, collections, control flows, and functions Identify how and when to use classes, structures, and enumerations Use protocol-oriented design with extensions to write easy-to-manage code Leverage design patterns with Swift to solve commonly occurring design problems Apply copy-on-write for your custom value types to improve performance Add concurrency to your applications using Grand Central Dispatch and operation queues Implement generics to write flexible and reusable code Who this book is for This book is for beginners with a basic understanding of programming and experienced developers looking to learn Swift programming. Familiarity with Apple's tools will be beneficial but not mandatory
Amazon.com
4
)

Advanced Swift: Updated for Swift 5

by
Chris Eidhof & Ole Begemann & Florian Kugler & Ben Cohen
10.0
% recommend
🛒   Buy
Advanced Swift takes you through Swift’s features, from low-level programming to high-level abstractions. In this book, we’ll write about advanced concepts in Swift programming.

If you have read the Swift Programming Guide, and want to explore more, this book is for you. Swift is a great language for systems programming, but also lends itself for very high-level programming
Amazon.com
3
)

Advanced Apple Debugging & Reverse Engineering Second Edition: Exploring Apple code through LLDB, Python and DTrace

by
raywenderlich.com Team & Derek Selander
10.3
% recommend
🛒   Buy
Advanced Apple Debugging & Reverse Engineering, Second Edition ISBN: Learn the powerful secrets of Apple's software debugger, LLDB, that can get more information out of any program than you ever thought possible. In Advanced Apple Debugging and Reverse Engineering, you'll come to realize debugging is an enjoyable process to help you better understand software.

Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find the secrets behind any bit of code that piques your interest.

This book is for intermediate to advanced iOS/macOS developers who are already familiar with either Swift or Objective-C and want to take their debugging skills to the next level. Topics Covered in Advanced Apple Debugging & Reverse Engineering: LLDB Max Achievement : Master LLDB and learn about its extensive list of subcommands and options.

1's and 0's : Learn the low-level components available to help extract useful information from a program, from assembly calling conventions to exploring the process of dynamically-loaded frameworks. The Power of Python : Use LLDB’s Python module to create powerful custom debugging commands to introspect and augment existing programs.

Nothing is Secret : Learn how to use DTrace, a dynamic tracing framework, and how to write D scripts to query anything you were ever curious about on your macOS machine. Case Studies: Quickly find and solve the real-world issues that iOS and macOS developers typically face in their day-to-day development workflow
Amazon.com
2
)

Coding iPhone Apps for Kids: A Playful Introduction to Swift

by
Gloria Winquist & Matt McCarthy
16.6
% recommend
🛒   Buy
Apple’s Swift is a powerful, beginner-friendly programming language that anyone can use to make cool apps for the iPhone or iPad. In Coding iPhone Apps for Kids, you’ll learn how to use Swift to write programs, even if you’ve never programmed before.

You’ll work in the Xcode playground, an interactive environment where you can play with your code and see the results of your work immediately! You’ll learn the fundamentals of programming too, like how to store data in arrays, use conditional statements to make decisions, and create functions to organize your code—all with the help of clear and patient explanations. Once you master the basics, you’ll build a birthday tracker app so that you won’t forget anyone’s birthday and a platform game called Schoolhouse Skateboarder with animation, jumps, and more! As you begin your programming adventure, you’ll learn how to: –Build programs to save you time, like one that invites all of your friends to a party with just the click of a button! –Program a number-guessing game with loops to make the computer keep guessing until it gets the right answer –Make a real, playable game with graphics and sound effects using SpriteKit –Challenge players by speeding up your game and adding a high-score systemWhy should serious adults have all the fun? Coding iPhone Apps for Kids is your ticket to the exciting world of computer programming.

Covers Swift 3.x and Xcode 8.x. Requires OS X 10.11 or higher.
Amazon.com
1
)

Mastering Swift 5: Deep dive into the latest edition of the Swift programming language, 5th Edition

by
Jon Hoffman
18.1
% recommend
🛒   Buy
Get up to speed with Swift features and concepts with this comprehensive guide to the Swift language Key Features Cover the latest version of the Swift programming language with the fifth edition of this bestselling book Get to grips with modern design techniques to write easy-to-manage Swift code Learn how to use core Swift features such as concurrency, generics, and copy-on-write in your code Book Description Over the years, Mastering Swift has established itself among developers as a popular choice as an in-depth and practical guide to the Swift programming language. This latest edition is fully updated and revised to cover the new version - Swift 5.

With this book, you'll explore the key features of Swift 5, easily explained with complete sets of examples. 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'll 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'll understand how to leverage the power of protocol-oriented programming to write flexible and easier-to-manage code. Finally, you'll 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 language and developed the skills you need to effectively use its features to build robust applications. What you will learn Understand core Swift components, such as operators, collections, control flows, and functions Learn how and when to use classes, structures, and enumerations Understand how to use protocol-oriented design with extensions to write easier-to-manage code Use design patterns with Swift to solve commonly occurring design problems Apply copy-on-write for your custom value types to improve performance Add concurrency to your applications using Grand Central Dispatch and Operation Queues Implement generics to write flexible and reusable code Who this book is for This book is for developers who want to delve into the latest version of Swift.

If you are a developer looking to learn in a practical way by working with code, then this book is for you. A basic understanding of Apple's tools will be beneficial but not mandatory.

All examples should work on the Linux platform as well. Table of Contents Taking the First Steps with Swift Learning about Variables, Constants, Strings and Operators Optional Types Using Swift Collections Control Flow Functions Classes, Structures, and Protocols Using Protocols and Protocol Extensions Protocol Oriented Design Generics Availability and Error Handling Custom Subscripting Working with Closures Concurrency and Parallelism in Swift Custom Types Memory Management Swift Formatting and Style Guider Adopting Design Patterns in Swift
Amazon.com

Conclusion

I hope that you liked this list. Please do not hesitate to check out the other ones I've published.

Keep me updated!

Receive weekly update about best programming books!
Just that, no spam, no bs.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.