Learn Swift

Change the world.

Swift for Good is a new book written by 20 top authors and speakers, with 100% of all revenue going to charity.

AVAILABLE TO BUY NOW!

Get your copy of Swift for Good today, and start upgrading your Swift skills while also contributing to a great cause.

BUY

About the Book

20 well-known authors and speakers came together to write an all-new book for Swift developers, all working for free so that 100% of revenues can be donated to charity.

THEY WRITE

Each author wrote one chapter on the topic they think is most important for today's Swift developers, from API design to SwiftUI and beyond.

YOU LEARN

Whether you're a junior developer or have years of experience behind you, Swift for Good has a range of topics at all levels to help take your skills further.

EVERYONE BENEFITS

None of the authors get paid, but instead all our revenue goes directly to charity so that we can make a real difference to the wider world as we share our learning.

Swift for Good logo

Authors

20 fantastic authors from around our community, each writing one chapter about a topic they think is important for today's Swift developers.

Jazbo Beason

Jazbo Beason

Animations bring apps to life, providing important cues about state, progress, and continuity to users. In my chapter we will walk through the technical principles underlying Core Animation, building various animations to drive home the concepts.

@bugkrusha
Bas Broek

Bas Broek

Making our products accessible is something we all know is important, but that doesn't get you there. In my chapter we'll look at accessibility on Apple devices, and how you can start improving your app's experience for everyone.

@basthomas
Kate Castellano

Kate Castellano

Have you ever wanted to do more than associate values to a specific class or struct? Properties in Swift can do more than meets the eye. In my chapter I will cover how you can use Swift's properties to improve safety, performance and readability of your code.

@katecastellano
Craig Clayton

Craig Clayton

Have a complex layout that you want to do for your app but have no clue where to begin? The newly released compositional layouts are here to help. In my chapter we’re going to learn how we can easily create elaborate designs with UICollectionView.

@thedevme
Dave DeLong

Dave DeLong

Designing an API that “feels right” and is easy to learn can be intimidating. In my chapter we’ll cover a few simple rules to guide your API design process so that developers of all skill levels can understand your code and feel at home using it.

@davedelong
Kristina Fox

Kristina Fox

One of the best ways to speed up software development is through reusable user interfaces and composable UI components. In my chapter I'll cover how you can incorporate reusable UI at scale by building a mobile design system.

@krstnfx
Paul Hudson

Paul Hudson

It's easy to build small apps with SwiftUI, but building bigger apps takes more thinking if you want to avoid tieing yourself in knots. In my chapter we'll explore architecting SwiftUI apps for scalability, maintainability, testability, and more.

@twostraws
Soroush Khanlou

Soroush Khanlou

Promises are a very Swifty way to represent values that you want to work with, but don't have yet. They're especially useful for working with the network, and in my chapter we walk through how they work and how to get the most out of them.

@khanlou
Janina Kutyn

Janina Kutyn

Every UIView is backed by a CALayer, which provides a powerful API for manipulating the view’s appearance. In my chapter we’ll talk about how to leverage this power to achieve interesting and appealing visual effects, including gradients, 3D effects, and more.

@janinakutyn
Antoine van der Lee

Antoine van der Lee

With frameworks like Combine and RxSwift, it’s tempting to overlook what we already have. In my chapter I’ll show you how Operations in Swift allow us to build great concurrent solutions since iOS 2.0.

@twannl
Paola Mata

Paola Mata

Enums are one of my favorite data types for their practicality and flexibility. In my chapter I will do a deep dive into this powerful data type and share some examples of enums I've implemented in my own projects.

@paolanotpaolo
Carola Nitz

Carola Nitz

Debugging is an important part of any software development. In my chapter you will learn how you can leverage breakpoints, LLDB, scheme options, and more to quickly find and fix problems in your code.

@_caro_n
Erica Sadun

Erica Sadun

If the words "abstractable" and "reusable" make your ears sing with delight, you'll love Swift's new property wrapper feature. In my chapter you'll discover how these customizable elements add a major level-up to your development toolset.

@ericasadun
Ben Scheirman

Ben Scheirman

Networking is a critical component to most iOS applications. In my chapter I'll show you step-by-step how to write your own networking stack that leverages Swift's unique features by writing a sample API client for talking to TheMovieDB API.

@subdigital
Neem Serra

Neem Serra

Extensions allow us to have cleaner code, conform to protocols, add new initializers, and so much more. In my chapter you will learn about how to use them to add functionality to a previously existing class, structure, enumeration, or protocol.

@teamneem
Ellen Shapiro

Ellen Shapiro

Localizing strings is a great place to start to make your app more accessible to users around the world. In my chapter you’ll learn more about internationalization, which will make your app feel truly at home anywhere in the world.

@designatednerd
Daniel Steinberg

Daniel Steinberg

You can store functions in properties, have arrays filled with functions, have functions that are parameters in other functions, and more. In my chapter you'll learn to think about functions the same way you think about strings, arrays, and other Swift types.

@dimsumthinking
John Sundell

John Sundell

Collections play a fundamental part in almost every app, because they let us structure, store and query our data in multiple ways. In my chapter we’ll take a look at how Swift’s collections work, and how we can build our own.

@johnsundell
Kamilah Taylor

Kamilah Taylor

Swift codebases can get large and unmanageable. In my chapter I’ll walk through how we can use app architecture patterns in a sustainable, scalable way, so that during the app’s life cycle we can refactor and maintain it with ease.

@kamilah
Kaya Thomas

Kaya Thomas

Testing is an important but often overlooked part of app development. In my chapter I will go over why you should incorporate testing into your workflow, show ways to get started, and explain the differences between unit, UI, and integration tests with Swift.

@kthomas901

Plus a foreword by…

Card image cap

Chris Lattner

@clattner_llvm

Available now!

Get your copy of Swift for Good today, and start upgrading your Swift skills while also contributing to a great cause.

ABOUT BLACK GIRLS CODE


Black Girls Code is devoted to showing the world that black girls can code, and do so much more. By reaching out to the community through workshops and after school programs, Black Girls Code introduces computer coding lessons to young girls from underrepresented communities in programming languages such as Scratch or Ruby on Rails.

Black Girls Code has set out to prove to the world that girls of every color have the skills to become the programmers of tomorrow. By promoting classes and programs we hope to grow the number of women of color working in technology and give underprivileged girls a chance to become the masters of their technological worlds.

100% of revenues from Swift for Good are sent directly to Black Girls Code.

Questions?

How much does the book cost?

The book costs $40, but as this is for charity we've enabled "pay what you want" so you can contribute more if you want.

Where does my money go?

Every one of our authors has agreed to give up their time for free, so that all revenues from book sales, minus payment processing fees, go straight to charity.

What difficulty level are the chapters?

We've tried to cover the full range of difficulty levels, so you'll find some chapters for folks with six months of Swift experience, some chapters for experienced senior developers, and lots of chapters in between.

Is this part of a series?

On January 14th we released our first book, with all the revenues for that going to support Black Girls Code. If this works well, we might write a second volume in the future, but we can't promise anything just yet.

What does my purchase include?

You'll get the book delivered as both PDF and ePub, plus any updates that are released in the future.

Can I buy a printed book?

No. Our goal is to raise as much money for good causes as possible, and digital publishing allows us to reach everyone while keeping our costs low.

What is your refund policy?

If you're unhappy with your purchase, contact us within 30 days and we can issue a full refund.

Where can I ask more questions?

If there's something we haven't answered here, contact Paul Hudson on Twitter @twostraws or by email paul@hackingwithswift.com.

Help us spread the word!

As an independently published book we don't have a big marketing budget – we're relying on folks like you to help tell others. So, please take a moment to tell your friends, colleagues, and meetups: Swift for Good helps you learn new Swift skills while also benefiting the wider community!

AVAILABLE TO BUY NOW!

Get your copy of Swift for Good today, and start upgrading your Swift skills while also contributing to a great cause.

BUY