Hacking with Swift Newsletter: May 2021

In this newsletter: tickets for my latest Swift events are now available, lots of new Hacking with Swift+ articles, Swift 5.4 is out, and lots more!

Hacking with Swift Live 2021

As promised, tickets for Hacking with Swift Live 2021 are now on sale. We’ll be covering all the major new features from WWDC21 in a three-day series of hands-on workshops, all delivered remotely using a private YouTube stream where you’ll have lots of chance to ask questions along the way.

All profits from Hacking with Swift Live go to charity, and for the third year in a row that charity is Special Effect – they do incredible work bringing joy into the lives of profoundly disabled adults and children, and we’ve raised over $70,000 for them so far.

To find out more about Hacking with Swift Live 2021 and get your ticket, click here: https://www.hackingwithswift.com/live

And if your company would like to sponsor the event, I’d love to hear from you – we have several sponsor packages available, so just drop me an email.

Register for my iOS Accelerator workshop

This month I’m running a one-day workshop where we’ll walk through building a complete app from scratch using SwiftUI, Core Data, and Combine. It's aimed at folks who already have some experience with Swift and SwiftUI, but everything will be explained in detail and of course you'll be able to ask lots of questions along the way.

Just like Hacking with Swift live, this iOS Accelerator workshop is raising money for charity, which means you come and learn something new and help a good cause at the same time.

Some extra detail you’ll want to know:

  • The stream will take place from 9am to 4pm US Eastern time, so that's 2pm to 9pm UK time.
  • There are two days available, and you're welcome to attend whichever one is most convenient for you: May 12th or May 16th. Both days will cover the same material.
  • The stream will be entirely online, either using a private YouTube stream or a Zoom call depending on numbers. Regardless you'll have lots of chance to ask questions.
  • The whole day will be recorded, and every ticket holder will get free access to videos of the event even if they weren't able to attend live on the day.
  • I won't be covering the basics of Swift or SwiftUI, so you should have some experience of both to make the most of the day.
  • All money goes straight to the charity using this site, so you might find your donation is tax deductible depending on which country you live in.
  • Tickets are US $100 / UK £70 / 80 Euros, sent as a donation directly to the charity. If you don't want to attend, any donation is most welcome!

As a bonus, everyone who donates enough for a ticket will also get any book from my store plus a copy of Mark Moeykens' new book on SwiftUI and Combine – that’s almost $200 worth of learning material in exchange for your $100 donation, and that’s on top of coming to the one-day workshop!

To find out more and get your ticket, click here: https://www.justgiving.com/fundraising/twostraws-accelerator

And if you would like to sponsor an iOS Accelerator ticket for someone from an underrepresented group in our community, please go ahead and donate then send me an email at paul@hackingwithswift.com so I connect it all up and find someone who needs the ticket.

Thank you!

New on Hacking with Swift+

As promised, I’ve been busy writing and recording new tutorials for Hacking with Swift+ subscribers, and in fact I’ve published a whole stack of new tutorials just since this time last month!

For the Ultimate Portfolio App course:

I also started a new course teaching functional programming in depth:

And I even went back to the earlier Algorithms section and added a new article about A* Path Finding.

So, it was a really busy month, and while the pace is going to slow down a touch in May and June as I focus more on WWDC, there’s still lots more to come!

If you don’t already subscribe to Hacking with Swift+, try a free three-day trial – there’s no credit card required, and it won’t auto-renew into a paying subscription because I’m not a scammer 😅

Find out more about Hacking with Swift+ here: https://www.hackingwithswift.com/plus

Sponsor thanks!

Thank you to the companies who sponsored Hacking with Swift last month! The site serves up over 5 million pages every month to more than 700,000 users, so the support from these folks helps maintain such a huge and free learning resource:

  • Stream lets you add a chat UI to your iOS and macOS apps using their cross-platform, open-source SDK. Find out more here.
  • ViRE is an app for Mac and iPad that makes regular expressions readable, including search, replace, history, and more. Find out more here.
  • Instabug provides an all-in-one SDK for bug reporting, crash reporting, and app performance monitoring. Find out more here.
  • RevenueCat makes it possible to add subscriptions to your app in hours, not months, so you can focus on the exciting stuff. Find out more here.

News from friends

As WWDC21 approaches I’m really glad to see Michie Ang return with her incredible community initiative, now branded WWDC21 Community Week!

Last year she brought together almost 800 Swift developers across a variety of events, including trivia, breakfast chat, watch parties, and more. This year she’s setting her sights even higher, looking to add in career talk, mentoring, group get togethers, and more.

To find out more and get your ticket, click here: https://wwdc.community

Swift 5.4 brings welcome improvements

Xcode 12.5 shipped a few days ago, and included inside it Swift 5.4. Although it’s technically only a minor update for the language, Swift 5.4 includes:

  • Improved implicit member syntax. Previously you could write .red rather than Color.red, but using .red.opacity(0.5) wouldn’t be possible. This now works in Swift 5.4.
  • Multiple variadic parameters in functions, as long as all parameters that follow a variadic parameter have labels.
  • Result builders, which originally arrived in an early form in Swift 5.1 for use with SwiftUI, but now have expanded and matured and shipped as final in Swift 5.4.
  • Overloading support for local functions, so multiple nested functions with the same name can be distinguished through their parameters.
  • Property wrappers for local variables, meaning you can use them inside functions and methods now.
  • Swift Package Manager now supports explicit declaration of executable targets, which is great if you’ve been using the new @main attribute.

I wrote up all these changes along with example code right here: https://www.hackingwithswift.com/articles/228/whats-new-in-swift-5-4

You can also read Apple’s official announcement on the Swift blog here: https://swift.org/blog/swift-5-4-released/

Discounts on books

Here's a reminder of the supporter's discount codes you can use to save money on all my books:

Remember, if you already bought books from either the Swift Power Pack, the Swift Platform Pack, or the Swift Plus Pack and want to upgrade to the full bundle, I can create a custom discount code for you that takes off whatever you already paid – just email me.

One more thing…

I’ve been using Apple’s Fitness+ service since it launched, usually getting in two workouts a day five days a week. Although obviously it’s helped keep me moving while stuck at home during various lockdowns, it’s also given me ample chance to hear various coaches providing inspirational advice and motivational tips.

One such tip that really stuck with me was from Amir Ekbatani, one of the functional strength coaches, who said his motto was this: “the way you do anything is the way you do everything.”

As I write this I have 51,060 followers on Twitter, plus 57,229 subscribers on YouTube, both of which are astonishing numbers to me. But what I won’t do is take them for granted – not now, not ever.

I feel it’s critically important that I use what platform I’ve been given to make a difference to folks around the world, and that’s not just about publishing free Swift tutorials – it’s also about raising money for charity through Hacking with Swift Live, through the iOS Accelerator, through my SwiftUI birthday livestream, through Swift for Good, and more.

And so I keep Amir’s motto in my head too – is the way I’m tackling a new thing the way I want to tackle everything, or am I losing sight of the bigger picture? Because as much as I like talking about Swift language improvements, architectural choices, and more, they are the means to an end rather than the end itself.

Thank you for your amazing support! I just checked and the iOS Accelerator workshop has already raised over $6000 for charity, and it's still almost two weeks away – this is such an amazing community, and I’m so proud to be a part of it!


Learn more about Hacking with Swift+