Book Review: Preview Edition of App Development with Swift by Apple

cover225x225

One of the themes of WWDC 2016 was about making computer programming more accessible to newcomers, whether in the classroom, or for someone taking it up on their own. Swift Playgrounds for the iPad was perhaps Apple’s biggest contribution to this effort but rather quietly there was a book, App Development with Swift, that was also released and is currently available in preview form, with lessons still be adding. This is part of a larger Everyone Can Code campaign which attempts to bring together all the resources newcomers need in order to learn programming in Swift. You can check out the Apple website for Every Can Code, or go to this iTunes link which takes you to its curated collection of resources from the App Store, iTunes U, and iBooks.

Apple has released books on Swift before and you can still find its seminal The Swift Programming Language over on the developer site. But it was never very accessible for someone brand new to programming (an experience I can attest to). App Development with Swift solves that initial accessibility problem, and does so in a brilliant way.

So who is this book for exactly. Well as I already mentioned this is for someone who is completely new to programming. If you have worked in other programming languages then you should already be familiar with the concepts it is teaching and won’t have a need for this. This is also a book for teachers, whether your teaching at an elementary school, or summer camp, or to your own kids or family. It should be noted that there is an accompanying Teachers Guide to this book so that it can be utilized as effectively as possible in the classroom. But for anyone who doesn’t fall into this category I would still recommend you take a look as this book. It is a great example of how to communicate the concepts of programming in a way that is accessible to none technical people.

What is the book about?

App Development with Swift is broken up into lessons. Right now there are 5 in total, but as Apple states more chapters are being added, so who knows exactly how many there will be once the full edition of the book is released. Each lesson starts off with an overview of what is going to be covered, and what concepts you will be learning. In some cases it may direct you to go open up a playground and work through the lesson there. In other instances it will guide you through working on a small project in Xcode.

At the end of each lesson is a short quiz, built inline to the page, that checks your knowledge of the key concepts taught in that lesson. You don’t have to take the quizzes, but they do serve as a good checkpoint before moving on. This is followed up by a quick summary before moving on to the next lesson. This structure of introducing a topic, highlight key concepts to be learned, teach the lesson, quiz, summarize, is exactly how most textbooks are set up so it is immediately familiar to readers and reinforces this material as really being designed for classroom use.

The language and tone of the book is fun, approachable, and written explicitly for those just coming into programming for the first time. The exercises are more practical than theory based. They utilize playgrounds and Xcode to keep the learner engaged, so that they are not just spending hours reading through theory and code, but actually working and interacting with the concepts they are being taught.

The layout of the book has been given the same detail and attention as any Apple ad campaign, product box, or consumer website. It looks brilliant and is highly readable, with a good use of colour and vibrant pictures, but only when those elements are really called for.

One of the biggest caveats about programming books on Swift is how up to date will the information be, and how quickly will the updates happen, given the rapid evolution of Swift. Well, unless Apple deems this book a failure in the future and decides to abandon it (which I think is highly unlikely) this will not only see regular updates, but is likely going to see updates released on the same day as each new Swift version. There should be no concern about not having the most up to date materials here.

How effective is the book?

This is hard to answer because it has just been released and because I myself am not the target audience. These are all concepts I know so unlike most reviews I do I cannot offer up a summary of how effective it was at teaching myself. To really test the effectiveness of App Development with Swift it needs to be in the hands of teachers, and students, and other people just starting to program. It will be that actual use feedback that ultimately determines how effective this book is.

So the better question at the moment is what are the odds it will be effective? With how the book is written, structured, its layout and with the combination between theory and practical, I would be really surprised if this was not a great learning resource. It feels engaging as it teaches key concepts while those learning work in playgrounds and building projects in Xcode to understand the concepts being taught. When I read through this book I think not only how great this would have been to give me that week 1 start in programming, but I can also picture this being something my niece or nephew would use, and really enjoy, to learn coding themselves.

TL;DR

App Development with Swift is still in a preview state. Content is still being added and some elements may change based on feedback. But from what I have seen so far, the best way to describe this book is delightful and exciting. The book is really targeting students and classroom environments and the accompanying teachers guide reinforces this. But it could just as well be used at home with your own family, or at a day camp this summer. Even someone who has finished school, and is simply thinking about teaching themselves programming to become a developer, could use this as an introduction to the topic and find a lot of value in it.

This book is attempting to make learning how to code as accessible as possible. And it feels like it has done that. Once the full version gets out into the real world we will see if that is the case or not. I will return to App Development with Swift later in the fall to follow up on what the actual experiences of newcomers to programming have been.

And if over the next few months you, or someone else, has used this book to learn programming, let me know what your experiences were. You can find me on Twitter @third_beach or leave a comment on this site.

Leave a comment