Book Review: Swift Essentials
Once again I got an opportunity to broaden my horizons a bit while reading a book for review. This time it was Swift Essentials by Dr. Alex Blewitt. With almost no prior experience with Objective-C and iOS development, I am just the person, the book is targeting. Of course I also didn't have any prior exposure to Swift, except for a couple of snippets I looked at when the language was first announced.
The author kept the initial introduction to the basic language syntax really brief and quickly made it more interesting and rewarding by replacing the command line REPL environment with Xcode integrated development environment and its playgrounds - a feature which provides a highly interactive environment for experimenting with the language. Not only that: he moved on to development of basic iOS applications, even before he covered all of the language features; introducing many of them only when they were first encountered in sample code.
Major part of the book is actually a step by step guide to iOS development in Swift for complete beginners. By the end of it the readers should have enough knowledge to write their first simple iOS application even without any previous experience. Along the way all the key concepts of the API are explained in detail, as well as a couple of peculiarities originating from the Objective-C era which could cause memory leaks or prematurely released memory, if not handled correctly. Even unit testing of Swift code was mentioned and encouraged.
The only thing I missed, was a more in-depth discussion of the language features and how they will impact the way the code will be written in it. Though, considering the target audience, it's not really fair to hold that against it. If nothing else, it makes up for it with a very extensive list of resources about Swift and iOS development which should satisfy even the most curious reader.