About my iOS development book…Published on: December 11, 2017
It's been almost two years since I blogged on this page. I know, two years is a long break for a person that claims to love "Writing about my everyday coding problems and solutions". Well, there is a very valid reason for my absence because I have been working on a book! Two actually, but they're mostly two sides of the same coin. My first book ever is named "Mastering iOS 10 Programming". It's been published by Packt Publishing and with it you can learn all the awesome new iOS 10 goodies that Apple introduced last year.
If you're about to go ahead and get this book, wait just one more second. As I said, this is my first book and it covers last year's material. If you want to learn all the ins and outs about iOS that any iOS master should at the very least be familiar with, go ahead and click the image below to get my latest book "Mastering iOS 11 Programming".
Okay, that was the short pitch. If it's bit tougher to convince you to get my book, allow me to explain what you'll gain from reading this book and then offer you the purchase link again. Sounds fair?
When I wrote my "Mastering iOS" books, I really wanted to write a book that I would personally pick up and read. This means that I focussed on creating content that truly prepares you to do a project that will go to the App Store some day. Each chapter features one of several apps that you'll build throughout the book. The code you write evolves and you'll refactor your code all the time to make sure it works well and is as easy to maintain as possible. The benefit in this is that you won't be writing any crazy or contrived code, just to proof a point. If something is truly an edge case, or if you'll hardly use an API when you're working on your own apps, this book will only cover it as brief as possible. This ensures that any lesson you learn helps you push your career as an iOS developer forward.
A lot of iOS developers nowadays worry a lot about their application architecture. Do we use VIPER, MVVM, plain old MVC or something else? The answer to a question like that is extremely complex because there are so many variables involved. This is why my book doesn't cover any of these architectures. You'll write MVC code since that's what iOS promotes at its core. However, instead of tossing all code in the view controller like some people do (causing the much feared Massive View Controller), you'll see how to break parts of your code into sensible modules so that each part of your code is focussed on completing a single task with an implementation that is flexible. Being able to properly separate the concerns in your code will make adapting to new patterns or architectures much easier because you know what good code looks like.
In addition to general purpose knowledge about building iOS apps, you'll of course read about the notification system that was introduced in iOS 10. No book on iOS 11 would be complete without coverage of
CoreML, so of course you'll learn about those topics in their own dedicated chapters. Some of the other frameworks and APIs that I cover are
SiriKit, the drag and drop APIs from iOS 11, iMessage extensions and even Spotlight gets some love.
One final aspect of development you'll jump in to is automated testing. My book will show you a very simple and basic way of testing the modular code you have written throughout the chapters. Also, you'll see how testing your code can uncover maintainability issues that you can solve by refactoring your code to be cleaner and more testable.
Sounds good? Well, here is that link to my book again as promised earlier.