iOS Dev Weekly - iOS Dev Weekly - Issue 655

I saw a striking reminder of progress in the latest official Swift tutorials 😱
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 655  April 5th 2024

 
Comment

  Comment  

 

Did you see the new Swift tutorials Apple released this week? It’s great to see more official tutorials appear, especially ones like these that target people brand new to programming, but as I was browsing the first tutorial it struck me what an amazing first introduction to programming this would be. The code in the tutorial was so clear and readable, and unlike Swift Playgrounds (which is great in its own way) these tutorials have you building an iOS app within minutes of opening the first tutorial. That's incredible.

Before Swift arrived, I used to teach in-person training courses covering Objective-C and UIKit development. But even requiring a pre-requisite of being comfortable with developing in any other programming language, the first day of the course was learning Objective-C. There was just too much legacy knowledge from C needed to tackle it at the same time as dropping a firehose of UIKit on people. It all falls apart so quickly when you need to stop teaching UIKit to explain what an NSNumber is and why you need a pointer to one so you can wrap an int up before passing it to an API.

But look at that last screen of code from this tutorial. It's so readable. That's not just because of SwiftUI, it's even just Swift, that's years of progress and centuries of person-hours that have gone into taking us from needing a very dry day (or more!) of learning about pointers and why NSNumber is even a thing ten years ago, to this today. 🤯

Like many of you, I also have concerns about how complex Swift has become over the years, but there is none of that in sight when you start out. It was a lovely reminder that the complexities of worrying about strict concurrency warnings, typed throws, and non-copyable generics is not what people are faced with as they first approach the language and I'd like to take a moment to congratulate everyone involved with the last decade or more of progress that made this tutorial possible. I've not seen it in quite such a striking way as this before.

Dave Verwer  Permalink

 
 

  Sponsored Link  

 

50+ CI/CD Workflow Recipes for Peak Performance

Explore Bitrise's curated workflow recipes, designed to speed up your mobile projects and improve performance. Download now.

bitrise.io  Permalink

 
 
 

  News  

 

Embedded Swift on ARM and RISC-V Microcontrollers

Work on embedded Swift has been progressing for quite some time now, but you might be surprised at the range of very tiny devices it now runs on. I had only heard of the Raspberry Pi Pico from this list, but there are many more. Kuba Mracek fills us in on where things are and introduces the new embedded examples source code repository!

swift.org  Permalink

 
 

  Tools  

 

Xcode Bookmarks

I've written before about my struggles getting into the habit of using the new Xcode bookmarks feature, but this article from Keith Harrison made me think about them differently. Not as something you'd set up while working on a single feature or bug fix, but as a more permanent guide to the interesting and commonly visited pieces of a codebase. It's time to give them another try!

useyourloaf.com  Permalink

 
 

  Code  

 

Quick and Painless Persistency on iOS

SwiftData is significantly easier to adopt and use than Core Data, but I’m still a fan of considering other options for small amounts of data storage before reaching for something that complex. Jordan Morgan goes through a greatest hits of all the methods that are worth considering before breaking out a database or ORM.

swiftjectivec.com  Permalink

 

In Search of a Smooth Scroll

I love this post from Edvinas Byla on dropping back to AppKit to polish up an area of his app. You should read the whole piece, but make sure to read the conclusion as I've not seen a fairer examination of the SwiftUI vs AppKit/UIKit debate yet. He nailed it. 👍

byla.lt  Permalink

 

App Store Subscriptions and Family Sharing

If you used Apple’s sample code for StoreKit, you might also have the bug in your subscription code that Craig Hockenberry talks about in this post:

That code will work fine until you encounter a customer that has Family Sharing enabled, as most do. The issue is that the Product.SubscriptionInfo can contain multiple items, and the code above only checks the first one.

It might be worth checking!

furbo.org  Permalink

 

How to avoid using AnyView in SwiftUI

The title of Natascha Fadeeva's post says it all. She goes through three ways to avoid falling back to AnyView in this post. 👍

tanaschita.com  Permalink

 
 

  Videos  

 

Apple Developer channel on YouTube

What’s that? Is it a new Apple Developer YouTube channel a couple of months before this year’s conference with a load of WWDC 2023 videos already uploaded? I wonder if we’ll see quick uploads of this year’s session videos or even simultaneous distribution alongside the official site?

youtube.com  Permalink

 
 

  Jobs  

 

Senior iOS Engineer - Voloco @ Resonant Cavity – Voloco is the best mobile recording studio in the world! Small profitable company with an Engineering driven culture. We ship with minimal process and meetings. You’ll work closely with the founders, who still regularly commit code. – Remote (Anywhere) with some on-site work (United States in CA or MN)

 Permalink

 

Don't forget to post any open positions you have available on iOS Dev Jobs!

 Permalink

 
 

  And finally...  

 

and beyond!

 Permalink

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
iOS Dev Weekly is published by Verwer Services Ltd. with a registered office at 5 Albert Road, Southsea, Hampshire, England, PO5 2SE.
 
 

 
 

RSS

 
©2024 iOS Dev Weekly | Privacy Policy | Mastodon | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 654

Friday, March 29, 2024

Yes, Uber.app, this intro was inspired by you and your complete fiction of an "Allow offers and promos..." setting! 🙄 View on the Web Archives ISSUE 654 March 29th 2024 Comment It's that

iOS Dev Weekly - Issue 653

Friday, March 22, 2024

We stand on the shoulders of so many giants that it's hard to see beneath the clouds! ☁️ View on the Web Archives ISSUE 653 March 22nd 2024 Comment Watching this video from Daniel Leivers

iOS Dev Weekly - Issue 652

Friday, March 15, 2024

We all make mistakes, but I just show 50000 people my mistakes 🫣 View on the Web Archives ISSUE 652 March 15th 2024 Comment I received two types of emails in response to last week's introductory

iOS Dev Weekly - Issue 651

Friday, March 8, 2024

How do you make a software developer deeply suspicious? Have them turn on a feature they expect to show errors but produce none! 😂 View on the Web Archives ISSUE 651 March 8th 2024 Comment Swift 5.10

iOS Dev Weekly - Issue 650

Friday, March 1, 2024

Tell me again about your new app idea… 😴 What's that? Sorry, I dropped off for a second 💤 View on the Web Archives ISSUE 650 March 1st 2024 Comment People often ask me about a new app idea they

You Might Also Like

The Power of an Annual Review & Grammarly acquires Coda

Sunday, December 22, 2024

I am looking for my next role, Zen Browser got a fresh new look, Flipboard introduces Surf, Campsite shuts down, and a lot more in this week's issue of Creativerly. Creativerly The Power of an

Daily Coding Problem: Problem #1645 [Hard]

Sunday, December 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Implement regular expression matching with the following special characters: .

PD#606 How concurrecy works: A visual guide

Sunday, December 22, 2024

A programmer had a problem. "I'll solve it with threads!". has Now problems. two he ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

RD#486 (React) Things I Regret Not Knowing Earlier

Sunday, December 22, 2024

Keep coding, stay curious, and remember—you've got this ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🎶 GIFs Are Neat, but I Want Clips With Sound — Your Own Linux Desktop in the Cloud

Sunday, December 22, 2024

Also: 9 Games That Were Truly Ahead of Their Time, and More! How-To Geek Logo December 22, 2024 Did You Know Dextrose is another name for glucose, so if you see it listed prominently on the ingredients

o3—the new state-of-the-art reasoning model - Sync #498

Sunday, December 22, 2024

Plus: Nvidia's new tiny AI supercomputer; Veo 2 and Imagen 3; Google and Microsoft release reasoning models; Waymo to begin testing in Tokyo; Apptronik partners with DeepMind; and more! ͏ ͏ ͏ ͏ ͏ ͏

Sunday Digest | Featuring 'The World’s 20 Largest Economies, by GDP (PPP)' 📊

Sunday, December 22, 2024

Every visualization published this week, in one place. Dec 22, 2024 | View Online | Subscribe | VC+ | Download Our App Hello, welcome to your Sunday Digest. This week, we visualized public debt by

Android Weekly #654 🤖

Sunday, December 22, 2024

View in web browser 654 December 22nd, 2024 Articles & Tutorials Sponsored Solving ANRs with OpenTelemetry While OpenTelemetry is the new observability standard, it lacks official support for many

😸 Our interview with Amjad Masad

Sunday, December 22, 2024

Welcome back, builders Product Hunt Sunday, Dec 22 The Roundup This newsletter was brought to you by AssemblyAI Welcome back, builders Happy Sunday! We've got a special edition of the Roundup this

C#537 Automating Santa's Workshop with NServiceBus

Sunday, December 22, 2024

Using event-driven architecture for effective gift delivery 🎄🎁 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌