
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.

Swift in Depth 1st Edition
Price | New from | Used from |
- eTextbook
$38.99 Read with Our Free App - Paperback
$32.29
Now updated for Swift 5! Swift is more than just a fun language to build iOS applications with. It features a host of powerful tools that, if effectively used, can help you create even better apps with clean, crystal-clear code and awesome features. Swift in Depth is designed to help you unlock these tools and quirks and get developing next-gen apps, web services, and more!
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
It's fun to create your first toy iOS or Mac app in Swift. Writing secure, reliable, professional-grade software is a different animal altogether. The Swift language includes an amazing set of high-powered features, and it supports a wide range of programming styles and techniques. You just have to roll up your sleeves and learn Swift in depth.
About the Book
Swift in Depth guides you concept by concept through the skills you need to build professional software for Apple platforms, such as iOS and Mac; also on the server with Linux. By following the numerous concrete examples, enlightening explanations, and engaging exercises, you'll finally grok powerful techniques like generics, efficient error handling, protocol-oriented programming, and advanced Swift patterns. Author Tjeerd in 't Veen reveals the high-value, difficult-to-discover Swift techniques he's learned through his own hard-won experience.
What's inside
- Covers Swift 5
- Writing reusable code with generics
- Iterators, sequences, and collections
- Protocol-oriented programming
- Understanding map, flatMap, and compactMap
- Asynchronous error handling with ResultBest practices in Swift
About the Reader
Written for advanced-beginner and intermediate-level Swift programmers.
About the Author
Tjeerd in 't Veen is a senior software engineer and architect in the mobile division of a large international banking firm.
Table of Contents
- Introducing Swift in depth
- Modeling data with enums
- Writing cleaner properties
- Making optionals second nature
- Demystifying initializers
- Effortless error handling
- Generics
- Putting the pro in protocol-oriented programming
- Iterators, sequences, and collections
- Understanding map, flatMap, and compactMap
- Asynchronous error handling with Result
- Protocol extensions
- Swift patterns
- Delivering quality Swift code
- Where to Swift from here
- ISBN-101617295183
- ISBN-13978-1617295188
- Edition1st
- PublisherManning
- Publication dateDecember 17, 2018
- LanguageEnglish
- Dimensions7.38 x 0.8 x 9.25 inches
- Print length376 pages
What other items do customers buy after viewing this item?
Editorial Reviews
Review
"Highly recommended to anyone interested in the Apple platform. Forthe novice who wants to become an expert, this is definitely whereyou should start!"--Helmut Reiterer, Revenue Recovery Solutions
"Because Swift is so new, it's hard to find good resources to learnit. Look no further than this book."--Tyler Slater, Jolt
About the Author
Product details
- Publisher : Manning; 1st edition (December 17, 2018)
- Language : English
- Paperback : 376 pages
- ISBN-10 : 1617295183
- ISBN-13 : 978-1617295188
- Item Weight : 1.55 pounds
- Dimensions : 7.38 x 0.8 x 9.25 inches
- Best Sellers Rank: #129,135 in Books (See Top 100 in Books)
- #4 in Swift Programming Language
- #7 in Apple Programming
- #20 in Mobile App Development & Programming
- Customer Reviews:
About the author

Tjeerd in ’t Veen is an avid Swift fan and a freelance iOS developer, having experience working for agencies, co-founding a small startup, and at time of writing, helping ING scale up their mobile development. Starting out as a Flash developer in 2001, his career progressed to iOS development with Objective-C, web development with Ruby, and some tinkering in other programming languages.
When he’s not developing in Swift, he’s busy spending time with his two daughters, making cringy dad jokes, and dabbling on an acoustic guitar.
You can find him on Twitter via @tjeerdintveen.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
As for the “Update for Swift 5” - well, there are some Swift 5 mentions in there, but it’s not comprehensive, but this isn’t a “what new in Swift 5” book. The book specifically says its for 4.3 in about, and mentions new features of five, but what I’m most concerned about is whether any of the code in the book has been deprecated, and I’m not sure yet.
The book is fairly easy to read. Concepts are explored gradually, with a focus on how to reason about the various constructs of Swift. Different approaches to solving a certain problem are presented side by side, with pro’s and con’s presented for all cases.
Theoretical aspects are balanced by an abundance of code examples, more than you’d normally find in a programming book. The author has put a lot of effort into demystifying abstract concepts on the spot into the mundane (but useful) examples you’re likely to encounter in your day to day work as a programmer. There’s little place in this book for highly theoretical constructs, and focus is clearly set on exemplyfing techniques with code samples. Worth noting, these are less like “class Foo” of “func Bar()” geeky examples, and more like snippets you’d see in a real project, such as a Network Layer with monadic error handling, or useful additions you can make to Swift’s built in Sequence/Collection types.
In my case, the list of takeaways after finishing “Swift in Depth” is by no means short:
How to reason about generics and protocols with associated types.
When to favor compile-time generics, and when usage of run-time protocols will save you some embarrassment.
Asynchronous error handling, with a touch of ellegance.
Harvesting the power of enums.
The benefits of conditional conformance.
High-order functions (flatMap, anyone?).
And how to nod politely when colleagues mention rigid class hierarchies in the days of protocol oriented design.
And when it is socially acceptable to use forced unwrapping of optionals …was that in the mornings, right before going to lunch? Oh, nevermind.
There’s bits as well for those more willing to explore the really shady/difficult constructs of Swift. Think type erasure, and others.
There’s also bits of comical relief here and there … I’ll just note down my favourite, which is when the author feeds the “OMG Shoes!” text to an URL initializer.
Topics that still stand out to me months later: utilizing enums and Result to their fullest, generics, protocol inheritance vs conformance, and PATs.
Going forward, I'm going to recommend this book to anyone looking to dive deeper into Swift. If you've had some Swiftlang experience under your belt and have a good foundation to build on, then grab this book!
Top reviews from other countries

The author frequently approaches topics, like generics, by talking about how difficult and scary they are. While I appreciate that some of these are fairly advanced programming topics, dedicating several pages to building up a sense of dread in the reader is not the best introduction to a subject.
Things are often poorly explained, for example the author argues that using subclasses is not a good idea because you might have a `FastFood` class with a `Burger` subclass, but then you've made your code inflexible because now it's impossible to add `Sushi` as a subclass of `FastFood`. There is no explanation of why this might be the case. The author does note at the beginning that they are writing this book in a second language, so I think a large part of the problem here lies with the editors at Manning for not providing more useful feedback during the writing process.
Finally, there are frequent errors. In a chapter entitled "delivering quality Swift code" one of the central code examples is fundamentally flawed (find the top five things in a given category by sorting, then limiting to 5, then filtering by category; this should be done by sorting, then filtering, then limiting), and there are many smaller problems throughout, including places where the author will advocate for or against doing something and then contradict themself in example code.


Also one more thing is helpful, I can download it in pdf and kindle format. I mostly reading it in kindle version when ever I am not at home. This speeded up the learning process. Thank you for giving soft copy as well.
Last. This book is advance level so once you have basic knowledge with 1 year experience at least and want to go to next level then go for this one.