NEW: Start my new Ultimate Portfolio App course with a free Hacking with Swift+ trial! >>

Join over 60,000 readers today

Airbnb Apple BBC Cisco eBay GitHub Google IBM Intel Microsoft Nike Salesforce

The ultimate investment for your iOS career

Hacking with Swift+ is a subscription service that delivers incredible, hands-on Swift tutorials as both video and article, so you can deepen your understanding of Swift, SwiftUI, UIKit, and more, and take your career to the next level.

HWS+ costs just $20/month or $200/year, and every article includes 4K Ultra HD video.


4K Video

All articles come with 4K Ultra HD video showing the techniques, with live commentary from me so you can understand exactly how something works.

Article + Code

All articles also come as text as well as video so you can read if you prefer, plus copy any code you want to try, and even challenges to take your learning further.

Ultimate Portfolio App

Your subscription includes access to my Ultimate Portfolio App series, which is a huge course teaching you to build the ideal app to get your next Swift job.

Exclusive gifts

Get Hacking with Swift pin badges, magnets, stickers, and more delivered to your door as a thank you for your support – exclusively for subscribers!

Or see below to get a free trial

Take your Swift skills further


HWS+ was launched June 1st, and many all-new articles plus accompanying videos have already been posted since then including my incredible new Ultimate Portfolio App series.

But it doesn't stop there. We'll keeping adding videos to the courses, and keep adding new courses, to build this up into the ultimate toolkit for advancing your Swift knowledge – just take a look at these sample videos and you'll immediately see how much depth we get into.

Looking for sample videos?

Here are some free sample tutorials from Hacking with Swift+ – you can play the videos right here, or click their title to read the article instead. You can also browse through all videos here.

Get all this and more…

  • The Ultimate Portfolio App walks you through the process of building one app that implements best practices for architecture, accessibility, testing, documentation, and more, while also working across iOS, macOS, tvOS, and even watchOS.
  • Advanced Swift will focus on improving your core Swift language skills, regardless of whether you use UIKit, SwiftUI, or something else.
  • Algorithms helps you understand common algorithms in computer science, all implemented and explained step by step in Swift.
  • Custom SwiftUI Components will walk you through building a wide variety of reusable UI components using SwiftUI.
  • Data Structures teaches you how to build stacks, lists, trees and more, while working with a variety of common Swift protocols.
  • High-performance Apps will teach you techniques for writing faster code, rendering faster views, and more, so you can make best use of your user's device.
  • Intermediate Swift is designed to help push your skills further, giving in-depth explanations for generics, optionals, assertions, and more.
  • Intermediate SwiftUI is packed with tips and tricks to help you write better SwiftUI code, including customizing common controls with styles, handling size classes better, and working with dynamic properties.
  • Making the most of Foundation will go back to the basics of Apple's Foundation framework, exploring how best to use common code such as UserDefaults and Measurement.
  • Networking covers a core topic in a fresh way, showing you smart ways to make your code simpler and safer using generics, Combine, and more.
  • Remaking Apps walks you through building copies of well-known apps from iOS using SwiftUI, showing you how easy it is to get powerful effects with very little code.
  • Rendering Charts in SwiftUI shows you how SwiftUI can be used to build complete types of charts from scratch, including pie charts, bar charts, and more.
  • SwiftUI Special Effects will teach you how to add some surprise and delight to your user interface using particles, Core Motion, and more.
  • Working with Data helps you get to grips with data input, such as creating a custom XML parser, or handling complex or messy JSON.

And more courses are on the way: debugging, testing, and of course lots more SwiftUI – I have an epic collection of tutorials coming, and I can’t wait to share them all with you.

Your Hacking with Swift+ membership gets you every subscriber-only article and video published now and in the future.

Exclusive bonuses!


Above and beyond all the amazing tutorials written for Hacking with Swift+ subscribers, you'll also receive exclusive subscriber-only thank you gifts every year – it's the least I can do to show how grateful I am that you're supporting my work.

This has some important terms and conditions, so please read the following carefully!

  • Hacking with Swift+ subscriber gifts are available for everyone in every country; we'll cover the postage worldwide.
  • The gifts are free bonuses; you don't need to pay anything extra to receive them.
  • There are multiple gifts based on how many years you have subscribed. After your first year you'll receive a "One Year" metal pin badge, a sticker, a fridge magnet, and a coaster. Second and subsequent years will contain different gifts.
  • If you subscribe yearly, you are eligible to receive your gifts immediately, not at the end of your subscription term.
  • If you subscribe monthly, you are eligible to receive your gifts after you have been a subscriber for 12 months. These months do not need to be contiguous – for example, you could subscribe for six months, take a six month break, then subscribe for another six months.
  • No, you don't need to receive the gifts – if you don't want to share your address with me, or if you'd rather avoid the environmental impact of sending packages around the world, just don't fill in your address.
  • To claim your free gifts, edit your Hacking with Swift account profile to include your mailing address. Please make sure you include your name, zip code, and country in your address!
  • If your country levies import duty or other taxes on gifts you will be liable to pay them directly to your government.

A Hacking with Swift magnet, pin badge, sticker, and coaster.

And there's even more 🤯

When you subscribe to Hacking with Swift+ you get immediate access to all the videos from Hacking with Swift Live 2020 – that's four full days of videos and accompanying articles walking you through techniques in SwiftUI, UIKit, widget development, and more!

FAQ


Some sites claim to have thousands of videos – why is HWS+ better?

Hacking with Swift+ focuses firmly on two things:

  1. Giving you the depth you need to get a strong grasp of each topic. Where other sites make hundreds of three or four minute videos that touch lightly on each subject, we prefer to go into much more detail – 20 or 30 minutes, and often longer – so you get to understand why things work as well as how.
  2. We teach Swift, Swift, and more Swift. We don't do Kotlin, we aren't interested in Dart, we won't try to squeeze in Flutter, and you won't find any React Native. That's not to say those other technologies aren't interesting, only that you're here to take your Swift skills further and that's exactly what we care about most.

How much does it cost?

Hacking with Swift+ costs $20 a month paid monthly, or for $200 you can get a yearly subscription and get two months free every year. Your membership includes all subscriber-only videos and articles available now and published in the future, for as long as your membership remains active. You can cancel your membership at any time, and your access will continue until your term ends.

What's the difference between Monthly and Yearly subscriptions?

Hacking with Swift+ is $20 per month, and you can cancel whenever you want. If you intend to work through many articles and really push your learning forward, you should consider the yearly subscription option, which is $200 for 12 months – a saving of $40.

Both tiers get access to exactly the same high-quality videos, articles, and source code. The only difference is that with the Yearly tier you save $40 every year, making it better value for money.

How much content is there right now?

Right now you get about 40 hours of videos plus all the accompanying articles and source code. This is growing extremely quickly as new tutorials are written and recorded. All tutorials always come as both text and 4K Ultra HD video, so you can learn in whichever way is easiest for you.

Is it suitable for absolute beginners?

No. If you're an absolute beginner you should start with my free 100 Days of SwiftUI course, which teaches you the fundamentals of Swift and SwiftUI. Hacking with Swift+ focuses on intermediate to advanced Swift techniques and tutorials, so unless you enjoy having a steep learning curve it's best that beginners start elsewhere.

Are there exercises?

Yes! All Hacking with Swift+ articles end with challenges to help you take your learning further – code to try, problems to solve, questions to consider, and more.

Why do I need a Hacking with Swift account?

Your Hacking with Swift account links your Gumroad purchase to this site, so we can unlock your subscription. This account also allows you to post to the forums if you want to.

Does this give me all your books?

No; the articles produced for Hacking with Swift+ are all new and exclusive to subscribers. The books are separate products and will carry on receiving updates.

Can I switch from a Monthly to Yearly subscription?

The best thing to do is wait until the day before your monthly subscription ends, then cancel and resubscribe with a yearly subscription.

How can I cancel my subscription?

If at any point you want to cancel your Hacking with Swift+ subscription, you can do so directly through your Gumroad account. Your access to the subscriber-only content will remain active until your subscription term ends, at which point it will cease.

Will there be sales tax or VAT added to the price?

If you live in a country or state where tax is applied to digital purchases, that will be added to your subscription price. As you might imagine there isn't a lot I can do about that.

Will you still make free tutorials?

Yes, absolutely! I believe it's important to help everyone learn, so I will still be publishing as many free tutorials as I can. This won't be affected by Hacking with Swift+.

Here's a sample of what's waiting for you…


Cleaning up Core Data

23:38

ULTIMATE PORTFOLIO APP

Cleaning up Core Data

Core Data’s optionals are quite different from Swift’s optionals, which makes them a little uncomfortable to work with. In this article I’m going to show you two ways of fixing this, which will help clear up our code nicely.

Editing projects

19:02

ULTIMATE PORTFOLIO APP

Editing projects

Editing projects is much like editing items, but because a good portfolio project should show off a range of skills we’re going to bring in grids, alerts, tap gestures, and more.

Storing your code somewhere safe

21:32

ULTIMATE PORTFOLIO APP

Storing your code somewhere safe

At this point we have something very simple working, so now is a great time to stash your code away somewhere safe using source control. If you already know how to use Git then you’re welcome to skip this part.

Codable networking with Combine

16:18

NETWORKING

Codable networking with Combine

So much of our job is about downloading JSON data, decoding it using Codable, then presenting it – it’s a core skill. But it’s common to see folks rely on huge libraries such as Alamofire, or get mixed up with URLSession. So, in this article we’ll look at how to rewrite common networking code using Combine, then add some generics to make it truly flexible.

Reading awards JSON

34:37

ULTIMATE PORTFOLIO APP

Reading awards JSON

Parsing data into your app is the single most common task any iOS developer needs to do, so in this article we’ll start to build out an Awards tab using JSON.

Stacks

24:20

DATA STRUCTURES

Stacks

There are many data structures in computing, but stacks are one of the most fundamental – they get used in so many places, often without us even realizing. Helpfully, they are also one of the easiest types to learn, which makes them a great starting point for this new series on data structures.

Integrating with Spotlight

34:58

ULTIMATE PORTFOLIO APP

Integrating with Spotlight

In this article we’re going to make Spotlight store our app’s data, meaning that the user can search for items right from their iOS Home Screen. If you intend to follow the Widget or shortcut sections of this course later on, you should follow this article first.

The pros and cons of operator overloading

23:37

ADVANCED SWIFT

The pros and cons of operator overloading

I’ve written about operator overloading previously, not least in my book Pro Swift, but in the article I want to go into more depth on the places where it’s really useful – and the places where it’s not such a good idea.

Core Data delete rules and predicates

14:20

ULTIMATE PORTFOLIO APP

Core Data delete rules and predicates

One of the least obvious but most important clean ups lies in our use of Core Data, because right now we’re leaking data and also showing flat out wrong data. To fix these we need to use some more advanced Core Data, so let’s get into it…

A* path finding

31:54

ALGORITHMS

A* path finding

The A* algorithm for path finding is not the perfect way to find an optimal route between two nodes in a graph, but it is either the best or darned close most of the time and that makes it a fantastic one to learn for both games and apps alike.

Wrap up, part one

11:48

ULTIMATE PORTFOLIO APP

Wrap up, part one

We’ve just put in place the last major code to complete part one of this app. Let’s clean up just a tiny bit, then look over what we’ve made so far.

Storing preferences efficiently

32:42

MAKING THE MOST OF FOUNDATION

Storing preferences efficiently

Apple’s UserDefaults system lets us store small amounts of user data for our app, which might sound simple but it’s deceptively powerful. In this article I’ll show you the correct way to create initial preferences, how to share preferences across applications, how to synchronize data with iCloud, and why this is a case where property wrappers probably aren’t a good solution.

Adding a section header

14:02

ULTIMATE PORTFOLIO APP

Adding a section header

Now that item editing works well, we can add a screen to edit projects. But before we can even think about that we need to add a custom section header to let users select a project to edit.

Creating an AccessibleStack that flips stack axis based on Dynamic Type

11:12

CUSTOM SWIFTUI COMPONENTS

Creating an AccessibleStack that flips stack axis based on Dynamic Type

There are several times when you might want to flip between a HStack and VStack, but one useful option is to look at the Dynamic Type size. Apple uses this itself to switch list rows to a vertical layout when using larger fonts, and in this tutorial I’ll show you how it’s done.

Linked lists

29:22

DATA STRUCTURES

Linked lists

If there’s one data structure they just love teaching you at school, it’s linked lists. In this article we’re going to look at why linked lists are so appealing, walk through how to build a linked list with Swift, and look at an alternative approach using enums.

Creating a particle system in SwiftUI

56:53

SWIFTUI SPECIAL EFFECTS

Creating a particle system in SwiftUI

Particle systems let us create special effects such as confetti, fire, smoke, rain, and snow, all by adjusting a range of inputs. In this article we’re going to build our own particle system entirely driven by SwiftUI, so you can easily add some sparkle to your apps.

Linting our code

35:00

ULTIMATE PORTFOLIO APP

Linting our code

Code is designed to be read far more often than it is written, and one of the simplest ways of making code easier to read is to make it uniform – to make sure your code follows a simple style, so your brain can focus less on spacing and naming and more on understanding how the code actually works.

Customizing Label using LabelStyle

17:02

INTERMEDIATE SWIFTUI

Customizing Label using LabelStyle

Labels are one of the simplest views in SwiftUI, but that doesn’t mean there isn’t a lot to explore. In this video I’ll walk you through how to build custom label styles, including adding animation effects triggered by hovering with the iOS trackpad.

Creating a FilteringList to filter a list using text input

27:34

CUSTOM SWIFTUI COMPONENTS

Creating a FilteringList to filter a list using text input

Many apps show lots of data in a list, and allow users to filter that list by typing in a text view. In this article we’re going to build that in SwiftUI, then pull it out into a reusable component you can apply anywhere.

Understanding generics – part 2

30:48

INTERMEDIATE SWIFT

Understanding generics – part 2

In this second tutorial on generics, we’re going to explore creating several different generic types, look at extending generics, and look at how we can apply our generics knowledge to create property wrappers.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.