I get asked so many times to recommend books on iOS development (and development in general). I was a bit surprised at first, but then when I stepped back and thought about it, it made sense. For someone who is starting in iOS books are still the best first step to take. In this short post I’ll quickly go over my top 10 books that I would recommend for a beginning/intermediate iOS developers to read. Some of them will be iOS related, some will be general development books.
This is a great book to read if you’re starting your career as an iOS developer. It will guide you through all the essential concepts of iOS development. From the view hierarchy and navigation controllers to the table views and collection views. The book touches on a lot of stuff superficially, but that’s ok, it’s what you need to get started quickly anyway. One thing that the book doesn’t cover is swift, but there are other books that cover that. One of them is actually by the same publisher. I guess that explains why they just brushed up on it in this book. All in all, a great book to kick-start your iOS development career.
This book is written by the team that maintains the famous Ray Wenderlich web site. As an iOS developer you’ll keep running into this site over and over again (just like stackoverflow 🙂 ). Between the two beginner books I listed here I prefer this one (they’re both good, but this one is slightly better). The guys will guide you through your first steps in iOS development through several examples, and the book will be packed with illustrations and screenshots. If you only have time to read one beginner iOS book, read this one.
After getting your iOS feet wet with one of the above books, this is a must read. You will need to master the language in order to be a good iOS developer. The guys from Ray Wenderlich did a great job with this book. This book will guide you through all the swift essentials that you will need in order to do your job properly. It will go through some basic programming concepts just to get it out-of-the-way, and then you get to dig into the fun stuff like optionals, enums, generics, closures, memory management… You’ll do yourself a massive favour if you read this book.
I’ll be honest with you, I love the objc series of books and I’ll recommend you read all of them. This book focuses on Core Data, which is a persistence mechanism on iOS. Granted, you don’t have to use Core Data for persistence, but if you do, I suggest you read this book. It will guide you through the essentials to the advanced topics. I love it how this book goes really deep into Core Data and it helps you understand how it works. If you use Core Data, definitely a must read.
If you’re starting iOS development, you can skip this book. But if you’re a seasoned developer, or just curious, this is a fun book to read. It explains the concepts of functional programming with examples in swift. It will also cover some topics like your standard map/filter/reduce, optionals (can’t have a book about swift without those, right 🙂 ), enums, etc. I love it how almost every other chapter in this book is a case study with a full example. Like I said, you don’t have to read this book, but it’s a fun one to read.
As the title of the book suggests, this is not a book for beginners. If you’re switching from Objective-C, or if you’ve been doing iOS for a few years, you should definitely read this one. If you skim over the chapter titles in this book, you might think it’s covering some basic concepts. It’s not, it goes into a lot of detail. For example, you’ll find a chapter named simply ‘Optionals’, the authors cover pretty much everything there is to cover on the topic. I think every iOS developer should read this book at one point in their career.
That covered the iOS related books. But there are a few more books that I would like to mention here. One of them is a pretty famous one on design patterns. As a developer you will find yourself solving the same type of a problem over and over, in those cases it’s good to know design patterns. While this book is written with examples in Java it’s still a great book on design patterns that you should read. You probably won’t use all of the patterns from the book, but you will definitely use some of them. For example: singleton, abstract factory, observer… If you never read a ‘Head First’ series, you’re in for a treat. You should definitely read this book once you get comfortable with the basics of iOS development.
Robert C. Martin is a legend in software development and this book is a classic. As a software professional you should read this book. It will teach you how to write better, cleaner code. I read this book a long time ago and it helped me become a better developer, I believe it will help you as well.
Code Complete: A Practical Handbook of Software Construction, Second Edition by McConnell, Steve (2004) Paperback
This is a meta-book of software development. It was composed of a lot of other books, articles, research papers. One of the books this book is referencing is actually ‘Clean Code’. I’ll tell you what I tell everyone… If you have time to read only one software development book this year, read this one. I know it’s not iOS/swift, but the book is a must read no matter what platform you’re developing on at the moment. It’s so packed with information that it’s some 900 pages long, it was a challenge going through this book, but trust me, you’ll benefit greatly from it. Buy it, read it 🙂
I can’t finish this list without this book. If I haven’t read this book, I probably wouldn’t start this blog at all. This is not a software development book, this is a book for software developers. It will help you out with your software career, and help you choose your path. It’s light reading and you’ll go through it quickly. It goes without saying that I recommend this book. Who knows, maybe you’ll start your own blog and/or company after reading it 🙂
To be clear, this is a list of my favourite books that I normally recommend to other developers. I’m sure I’ve missed some great ones, I’m sure I haven’t heard of others. If you guys have any suggestions on what to read next, please drop a comment below. Also, Apple documentation is a great resource, and if you’re starting iOS development there’s no better place to start. Time to wrap this one up…
Have a nice day 🙂
- iOS Programming: The Big Nerd Ranch Guide
- iOS Apprentice Sixth Edition: Beginning iOS development with Swift 4
- Swift Apprentice Third Edition: Beginning Programming with Swift 4
- Core Data: Updated for Swift 4
- Functional Swift: Updated for Swift 4
- Advanced Swift: Updated for Swift 4
- Head First Design Patterns: A Brain-Friendly Guide
- Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
- Code Complete: A Practical Handbook of Software Construction, Second Edition by McConnell, Steve (2004) Paperback
- Soft Skills: The software developer’s life manual