Swift by Sundell - Swift by Sundell Newsletter #25

View this email in your browser
The Swift by Sundell Newsletter
Issue #25 - September 2020

👋 Hi everyone

Video games are, without a doubt, the main reason that I became a programmer. Ever since I, as a kid, found out that anyone can create a game by typing code into a computer, I knew that I wanted to learn how to do just that.

Fast-forward to 2020 and I might not be a full-time game developer, but that desire to build my very own games is still as strong as ever. While I’ve occasionally been prototyping various game ideas from time to time, and have shipped a number of games in the past, about a month ago I decided that it was time for me to finally getting back to building a real, proper game.

This time, I’m using a combination of my own, Core Animation-based game engine Imagine Engine and SwiftUI to bring my new game to life, and although it’s still very much a hobby project, it’s starting to feel like something that I eventually will be able to ship. I’m doing a sort of “game development diary” on Twitter, if you’d like to follow along, and I’m also aiming to share more details both about the game itself, and its implementation, in future editions of this newsletter.

But for now, let’s get started with the recap of all of the articles and podcast episodes that were published on Swift by Sundell during August.

 

📖 Weekly articles

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

 

Rendering textured views with SwiftUI

Tips on how to texture SwiftUI views using tiling images, and how to ensure that such views are rendered in a smooth and predictable manner.

 

A deep dive into Swift’s function builders

A closer look at Swift’s function builders feature, and how it can give us some really valuable insights into how SwiftUI’s DSL operates under the hood.

 

Using compiler directives in Swift

An overview of the tools and directives that enable us to influence how our Swift code gets compiled, and what sort of situations that each of those tools might be particularly useful in.

 

Building SwiftUI debugging utilities

A few examples of building custom debugging utilities for SwiftUI-based views — from specific methods to general-purpose abstractions.

 

Working with files and folders in Swift

Various ways to use the many file system-related APIs that Swift offers — both on Apple’s own platforms, and on platforms like Linux — and a few things that can be good to keep in mind when working with those APIs.

 

🎧 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:

 

79: “All about UICollectionView”, with Ben Scheirman

Ben Scheirman, creator of NSScreencast, joined me on an episode all about UICollectionView. How have UICollectionView’s features evolved over time, and how are modern APIs like compositional layouts and diffable data sources changing the way collection views are built and used?

 

80: “Lists and loops”, with Nick Lockwood

Nick Lockwood returned to the show to go on a deep dive into data structures and algorithms, what some of the pros and cons of writing high-performance code in Swift are, and how all of that relates to parallelization and performance.

 

⭐️ Swift tips

I love to share shorter tips, tricks and techniques with the community. These are the tips that I shared during the past month:

 

Multiline string literal tips and tricks

A quick look at a few Swift language features that make multiline string literals really useful.

 

How the raw values of Int-based enums get incremented

What determines the underlying Int value of a given enum case, and how can such a value be customized?

 

Handling view controllers that have custom initializers

At first, using initializer-based dependency injection with UIKit classes like UIView and UIViewController might seem rather difficult, but that’s not necessarily the case.

 

⁉️ Questions & Answers

Answers to common questions about Swift development, or about my work in general. I answered this question during the past month:

 

What hardware and software do I use to produce podcasts?

A look behind the scenes of how the podcast is recorded, edited, and published.

 

😊 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 update your preferences or unsubscribe from this list.

Email Marketing Powered by Mailchimp

Older messages

Swift by Sundell Newsletter #24

Saturday, August 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes, answers and tips published during July 2020. View this email in your browser Issue #24 - August 2020 👋 Hi everyone

Swift by Sundell Newsletter #23

Wednesday, July 1, 2020

Your summary of everything new on Swift by Sundell - all articles, podcast episodes and tips published during June 2020. View this email in your browser Issue #23 - July 2020 👋 Hi everyone Wow, what a

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

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 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

☁️ Azure Weekly #464 - 28th April 2024

Sunday, April 28, 2024

Azure Weekly Newsletter Issue #464 powered by endjin Welcome to issue 464 of the Azure Weekly Newsletter. In AI we have a good mix of high-level and deep-dive technical articles. Next-Gen Customer