The Missing Manual
for Swift Development

The Guide I Wish I Had When I Started Out

Writing a few lines of Swift is surprisingly easy. Once you start to dig deeper, though, you discover that building an application for Apple’s platforms is more challenging than it seems. The Missing Manual for Swift Development outlines the challenges you face along your journey and how to overcome them.

Some of the more obvious topics I cover in the book include dependency management, source control, code reviews, continuous integration, style guides, working in a team, tooling, project organization and documentation, and release strategies.

The topics I found most interesting to write about, however, are more meta, such as when to break rules, freelancing and subcontracting, staying productive as a developer, shipping projects, leaving your comfort zone, and dealing with challenging problems.

The book is filled with useful information that I’ve picked up over the years, sometimes from other developers and sometimes by learning the hard way. This book doesn’t include code snippets or sample projects. The goal of the book is to provide insights and answers to questions that are often overlooked or ignored.

"This is the guide I wish I had when I started out as a developer. Learn from my mistakes."

Who Am I?

About round 400

My name is Bart Jacobs and I’m the founder of Code Foundry, a mobile development company. I’ve been teaching since 2004 and I currently focus primarily on teaching Swift developers how to create robust, scalable applications for Apple’s platforms using Swift and the Cocoa frameworks.

I’m crazy about film music and I have a soft spot for tea and coffee. I’m currently weaned off coffee, but we’ll see how long that lasts.

What Does the Book Cover?

1 Foundation
1 What Is Your Foundation
2 Where to Start
3 Know Your Tools
4 Adopt Best Practices
5 Security
6 Don’t Ignore Your Foundation
7 Respect the SDK
8 Design Patterns
2 Swift
1 Learn Swift With an Open Mind
2 Be Critical
3 Embracing Optionals
4 Mind the Exclamation Mark
5 Exclamation Marks and Fatal Errors
6 Smelly Code
7 Value Types and Reference Types
8 Catching Errors
9 Using Fatal Errors to Write Elegant Swift
3 Projects
1 A Brand New Project
2 Project Structure
3 Project Hygiene
4 Document Everything
4 Workflow
1 Testing
2 Continuous Integration
3 Refactoring
4 Source Control
5 Dependencies
6 Automation
7 Privacy
8 What To Do When You Inherit a Software Project
9 Speed, Quality, and Technical Debt
5 Team
1 Code Reviews
2 Adopt a Style Guide
3 Working In a Team
4 Being a Leader
6 Career
1 Open Source
2 You Are the Constant in Your Career
3 Build That Application
4 Protect Your Productivity
5 Building Your Portfolio
6 How Badly Do You Want It
7 Freelancing and Subcontracting
7 Products
1 Ship, Ship, Ship
2 Talk to Your Customers
3 What Is Stopping You From Shipping
4 Motivation Will Get You Only Halfway
5 How to Make a Living as a Mobile Developer
8 You
1 Being and Staying Productive
2 Stop Looking for the Silver Bullet
3 You Are Not an Imposter
9 Learning
1 Choose Your Teacher Wisely
2 Taking A Shortcut
3 Some Things Are Hard
4 Learn the Rules, Then Break Them

The Missing Manual
for Swift Development