Swift by Sundell - Swift by Sundell Newsletter #23

View this email in your browser
The Swift by Sundell Newsletter
Issue #23 - July 2020

👋 Hi everyone

Wow, what a WWDC! Especially for being the first ever fully online edition of the conference, I think Apple did an amazing job. If this is what the future of WWDC will look like, even post-pandemic, then I’d honestly be really happy. As someone who has only been able to attend a single edition of the conference in person, I think this year’s new format was better in almost every single way.

I’m particularly excited about the advancements that SwiftUI has made this year, all while maintaining complete source stability with last year’s release, and I feel like the introduction of Apple Silicon and macOS Big Sur has sparked a lot of renewed excitement and interest for the Mac as a platform.

I hope you also enjoyed WWDC and all of its announcements. I’ll continue covering this year’s new APIs and features, both on Swift by Sundell, and on the Stacktrace podcast. But now, here’s your monthly recap of everything that’s new on Swift by Sundell, and a few articles from its sibling site, WWDC by Sundell & Friends.

 

📖 Weekly articles

For 176 weeks, I’ve been publishing a new article about Swift every Sunday. These articles were added during the past month:

 

Handling model variants in Swift

Let’s explore a few different techniques for handling dynamic, polymorphic model data, in ways that still leans into Swift’s strong emphasis on type-safety.

 

Useful APIs when writing scripts and tools in Swift

A look at a few key APIs and techniques that can be really useful when building custom developer tools, scripts, or other kinds of automation, in Swift.

 

A Swift developer’s WWDC dreams - 2020 edition

The evening before Apple’s WWDC20 keynote kicked off, I did the same thing as I did last year, and shared a few of my biggest Swift-related dreams for the conference.

 

Learning SwiftUI by building tools and prototypes

A look at one possible venue for learning and exploring SwiftUI without having to necessarily deploy it directly into production — by building internal tools and various prototypes.

 

🎧 Podcast episodes

The Swift by Sundell podcast is a bi-weekly show featuring special guests from all around the Swift community. You can find it in your podcast player of choice, for example Apple Podcasts or Overcast. These episodes were published during the past month:

 

74: “Let’s build a camera app”, with Team Lux

On this episode, I was joined by the entire team behind the award-winning apps Halide and Spectre, Apple’s 2019 App of the Year. Ben, Sebastiaan and Rebecca shared their stories of how these apps came to life, how they’re working together between design and development, and how technologies like Computational Photography and Augmented Reality are influencing their work.

 

75: “The Swift package ecosystem”, with Dave Verwer and Sven A. Schmidt

Dave Verwer and Sven A. Schmidt joined me to talk about their newly launched Swift Package Index, and what the overall state of Swift’s package ecosystem currently is. Also, dependency management, composing libraries, and learnings from deploying server-side Swift in production.

 

76: “A huge year for SwiftUI”, with Josh Shaffer and Eliza Block from Apple

On this special episode of the show, Josh Shaffer and Eliza Block from Apple joined me to talk about what’s new in SwiftUI, how Xcode Previews work under the hood, the new home screen widget system, Apple’s internal process of adopting and improving SwiftUI, and much more.

 

🎉 WWDC articles

This year, a few of my friends from around the community joined me to provide highly technical coverage of WWDC20 over on WWDC by Sundell & Friends. While I won’t list every single piece of content that we published during the week of the conference (there’s simply too much of it!), here are a few of the Swift-focused articles that I wrote about some of Apple’s key announcements:

 

How SwiftUI can now be used to build entire iOS apps

Starting this year, entire apps can now be defined directly using SwiftUI from top to bottom. Here’s a first look at how that works for iOS apps.

 

Importing Swift packages into a playground in Xcode 12

An exciting new feature in Xcode 12 is that Swift packages can now be directly imported into a playground. Here’s how to get started with that feature.

 

The UIKit views that now have built-in SwiftUI counterparts in iOS 14

A few examples of UIKit views that now have SwiftUI-native counterparts, and how those new view types could be used. Also, a first look at SwiftUI’s new lazy grids and how they offer UICollectionView-like functionality.

 

Getting started with WidgetKit

A first look at the framework that enables the new home screen widgets to be created, WidgetKit, and how to get started building a simple first version of a widget that displays dynamic content.

 

Using UICollectionView to build lists on iOS 14

Exploring some of UICollectionView’s new APIs, and how they can be used to build table view-like lists.

 

⭐️ Swift tips

Besides my full-length articles, I also love to share shorter tips, tricks and techniques with the community as well. These are the tips that I shared during the past month:

 

Annotating properties with default decoding values

How Swift’s Codable API can be made a lot more flexible, by enabling default values to be defined for certain properties using a custom property wrapper.

 

Organizing default argument values

A look at several different ways of defining default values for initializers and functions.

 

A first look at SwiftUI’s new StateObject property wrapper

How SwiftUI’s new StateObject property wrapper works, and how it compares to ObservedObject.

 

😊 Until next time

That’s it for this edition! I hope you enjoyed this newsletter. I always love to hear your feedback, so feel free to either reply to this email, or contact me on Twitter @johnsundell. I read every single piece of feedback that I get, and I try to reply to as many people as I possibly can.

Thanks for reading! 🚀

- John

Copyright Š 2020 John Sundell, All rights reserved.
You are receiving this email because you signed up for the Swift by Sundell Newsletter at swiftbysundell.com/newsletter.

Our mailing address is:
John Sundell
Wadowicka 6B/4 SKR 002 A4
KrakĂłw 30-415
Poland

Add us to your address book


Want to change how you receive these emails?
You can or .

Email Marketing Powered by Mailchimp

Older messages

Swift by Sundell Newsletter #22

Monday, June 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes, tips and videos published during May 2020. View this email in your browser Issue #22 - June 2020 👋 Hi everyone With

Swift by Sundell Newsletter #21

Saturday, May 2, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes, tips and videos published during April 2020. View this email in your browser Issue #21 - May 2020 👋 Hi everyone In

You Might Also Like

WP Weekly 191 - Essentials - Duplicate in Core, White Label Kadence, Studio for Mac

Monday, April 29, 2024

Read on Website WP Weekly 191 / Essentials It seems many essential features are being covered in-house, be it the upcoming duplicate posts/pages feature in the WordPress core or the launch of Studio

SRE Weekly Issue #422

Monday, April 29, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

Quick question

Sunday, April 28, 2024

I want to learn how I can better serve you ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Kotlin Weekly #404 (NOT FOUND)

Sunday, April 28, 2024

ISSUE #404 28st of April 2024 Announcements Kotlin Multiplatform State of the Art Survey 2024 Help to shape and understand the Kotlin Multiplatform Ecosystem! It takes 4 minutes to fill this survey.

📲 Why Is It Called Bluetooth? — Check Out This AI Text to Song Generator

Sunday, April 28, 2024

Also: What to Know About Emulating Games on iPhone, and More! How-To Geek Logo April 28, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Daily Coding Problem: Problem #1425 [Easy]

Sunday, April 28, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Suppose an arithmetic expression is given as a binary tree. Each leaf is an

PD#571 Software Design Principles I Learned the Hard Way

Sunday, April 28, 2024

If there's two sources of truth, one is probably wrong. And yes, please repeat yourself. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

When Procrastination is Productive & Ghost integrating with ActivityPub

Sunday, April 28, 2024

Automattic, Texts, and Beeper join forces to build world's best inbox, Reflect launches its iOS app, how to start small rituals, and a lot more in this week's issue of Creativerly. Creativerly

C#503 Building pipelines with System.Threading.Channels

Sunday, April 28, 2024

Concurrent programming challenges can be effectively addressed using channels ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#453 Get your codebase ready for React 19

Sunday, April 28, 2024

Is your app ready for what's coming up in React 19's release ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌