Thursday, 16 February 2017

Book Review - Swift iOS 24-Hour Trainer, by Abishek Mishra

This is another in my infrequent series of book reviews for the British Computer Society.

Swift iOS 24-Hour Trainer, by Abishek Mishra

So let me start by declaring that I did not read this book in 24 hours; in fact, it's taken me far longer to read, for no other reason than that I've been reading it in chunks, one lesson per day, and there are over 30 lessons.

Therefore, I can't say, hand on heart, that the 24-hour programme actually works; however, for a committed reader, one who has made time to read, learn and practice, I suspect that a day, albeit a long day, would suffice.

By that, I mean that this book serves as an excellent introduction to the Swift language, providing context, timeline and system requirements, both developer and run-time.

To properly learn a language, one needs to practice said language, and this book provides plenty of material to support effective learning, including Try It tutorials at the end of each lesson, with worked examples.

In terms of prerequisites, the book assumes that one has access to Apple's Xcode integrated development environment, which is key for the effective development and testing of applications targeting the iOS platform.

Whilst one could follow most of the lessons, and tutorials, using an alternative IDE, such as IBM's Swift ( declaration, I work for IBM ) or even the Swift command-line, many of the lessons do really require one to use Xcode, which is available from Apple ( assuming that one has a Mac computer ).

That being said, it's typically safe to assume that, if one is developing for the Apple ecosystem, one would have access to a Mac, Xcode etc., especially if one was also familiar with iOS development using Objective C.

Anyway, back to the book; as the title suggests, this is aimed as a trainer and, as such, is intended to provide a taster to the language, with the lessons increasing in scope and relative complexity. By the end of the book, one should be familiar with the full gamut of iOS app development, including interactive with on-device features such as mapping, camera, multi-touch and gestures.

The Try It tutorials are relatively simple, being worked examples, and are often self-contained, rather than assuming that one has completed the previous lessons. Therefore, one could jump straight into specific areas of interest, rather than absolutely needing to read the book from start to finish.

That being said, I would suggest that, if one is unfamiliar with Swift or the basics of iOS app development, that a cover-to-cover read is the way to go.

To summarise, this is an excellent introduction to the Swift programming language, in the specific context of iOS app development, and would serve as an effective on-ramp to anyone wishing to start their journey in app development, within the Apple ecosystem.

Apart from hands-on coding, the book also provides a good insight into the prerequisites of successful app development, including design, user-interface modelling ( e.g. wireframes ) and, most importantly, testing.

At 500 pages, it's long enough to provide detail when required, but concise enough to get one started.

In terms of a ranking, I'd give this book 10 out of 10, simply because it met my expectations, and provided both context and a deep-dive into Swift and iOS app development.

PS For the record, I previously delivered a 
review of another book on Swift, Swift Essentials Second Edition by Dr Alex Blewitt, in June 2016.

No comments: