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

BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?

Wednesday, November 27, 2024

Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as

Mapped | Unemployment Rate By U.S. State in 2024 💼

Tuesday, November 26, 2024

As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!

🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint

Tuesday, November 26, 2024

Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny

JSK Daily for Nov 26, 2024

Tuesday, November 26, 2024

JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

NumPy, Loop Targets, Vector Animation, and More

Tuesday, November 26, 2024

NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to

Your Games Quarterly newsletter has arrived

Tuesday, November 26, 2024

What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16

Daily Coding Problem: Problem #1620 [Hard]

Tuesday, November 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with

Final Hours: Help Save "The Art of Data" From Falling Short 🙏

Tuesday, November 26, 2024

Will Visual Capitalist end up revealing the secrets behind data storytelling? There are 12 hours left to change the fate of "The Art of Data". View Online | Subscribe | Download Our App Help

Spyglass Dispatch: Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer

Tuesday, November 26, 2024

Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer The Spyglass Dispatch is a free newsletter sent out

🎁 Say Goodbye to Adobe and Hello to UPDF's Universal PDF Editor— 50% Off This Black Friday!

Tuesday, November 26, 2024

Promoted by UPDF How-To Geek Logo November 26, 2024 This email is sponsored by UPDF. Product choices and opinions expressed are from the sponsor and do not necessarily reflect the views of the How-To