Learning Swift Programming Book Review
|I started programming with Swift the first day it was available. Back then all we had available was Apple's The Swift Programming Language, and Using Swift with Cocoa and Objective-C eBooks. I got in a few weeks of heads down work before the plug was pulled on our project.|
When the project was shut down I was handed a project that required 100% of my attention so I was forced to shut down Xcode for a few months. That was a blessing and a curse. Curse because I don't remember anything I was doing, and a blessing because now there are several books available for getting started with Swift.
I am reading 4 books on Swift before moving on to iOS. This might seem like over kill since I have spent a lot of time in Objective-C, but this is what I do to learn when I am trying to learn something I am not using at work. I am not that quick or smart, so I need to repeatedly pound stuff into my head for it to stick. I have a real world app I will be coding after I finish the books.
Although I started all 4 books at the same time this is the one that I started running away with and finished first. The reason for that is this one is the least robust and contains straight to the point content. No filler at all. Below are the chapters included in the book.
1. Getting Your Feet Wet
2. Collecting Data
3. Making Things Happen: Functions
4. Structuring Code: Enums, Structs, and Classes
5. Making a Game
6. Reusable Code: Closures
7. Subscripts and Advanced Operators
9. Becoming Flexible with Generics
10. Games with SpriteKit
11. Games with SceneKit
12. Apps with UIKit
My favorite thing about the book is the concise, yet thorough, explanation of language features. The author also has a great feel for which topics need more attention. For example, Closures, Generics, and Protocols get a whole chapter dedicated to themselves.
My biggest gripe with the book is not a legitimate one, because it is actually with the author, and complaining about it would not be right. I thought it may be an issue when I read at the beginning of the Introduction that the last thing the author would provide in the Introduction is where we can find the code. Where to find the code is not in the Introduction, or any where else that I can find.
Looking for it I eventually found my way to a cloud implementation of a Swift programming environment that was broken. That was where the author said he promised to house all the examples from the book. I saw the promise on one of the sites that came up in my search for the code. I have no doubt, that he eventually will get it working. Regretfully, I could not retrace my tracks back to it. Although I did find some other online Swift compilers.
So my big gripe is that the author is doing too much for the community. He needs to slow down, take a small break, clean up his web presence, and then get back to full on teaching with a less outlets. The Skip Wilson videos are great, but trying to find the code led me all over the place. I also couldn't find an easy way to ping the author.
Like I said at the beginning of the explanation of my only gripe, my issue is not with the book. It's not really against the author either, I really appreciate all his contributions to the community. He does a great job. I just know I have seen people 1 star an Amazon review simply because a book came with no code.
This book is the place to start with Swift if you have prior programming experience. The author's writing style is great so the book is a nice short cover to cover read, but it also makes an excellent reference. Looking up a topic you will find examples easy enough to not have to get your head around the domain's context, but complex enough to show the feature in detail.
The reader for this book is the experienced programmer that wants a quick look at what Swift has to offer. It is not a book about how to build applications, although the author uses a few apps in his examples, it is a book about Swift. If you want a swift introduction to Swift, this is a great place to start.
Learning Swift Programming
Learning Swift Programming