Subscribe for weekly commentary and coverage of Swift and Apple platform development. Written by Dave Verwer and published every Friday. Free.

Picture of Dave Verwer

Issue 631

13th October 2023

Written by Dave Verwer

Comment

Apple’s swift-distributed-actors library is an interesting one. It’s an ambitious project with great potential, but while you can adopt async/await, tasks, and other areas of Swift concurrency incrementally, building a server app on top of distributed actors is a much bigger decision, especially while the library is still in beta.

What would help tremendously with making a decision like that is an example app. There are some samples in the repository and more awaiting merging, but wouldn’t it be great to have something a little more substantial? That’s Jaleel Akbashev’s plan with his swift-chat project that he posted to the Swift Community Showcase yesterday.

It’s so great to see projects like this pop up within the community, and what Jaleel is building could turn into a great demo of an end-to-end Swift app. Yes, it covers advanced concurrency through distributed actors, but it also takes advantage of hummingbird, postgres-nio, and client technologies like swift-composable-architecture and swift-dependencies.

I’m curious about what technologies like distributed actors will be used for. It sits somewhere in between “everything happens on this machine” and something totally distributed, like two apps that communicate via HTTP APIs¹. Chat apps, like the one in this repository, seem like a good fit, but I’m looking forward to seeing other uses appear over time and as we see the library hit a 1.0 release.

Jaleel is looking for feedback and has been clear that this is a work in progress, so please be gentle if you head over there. I love that he’s putting this project out there and want to celebrate efforts like this, though, so please do check it out.


¹ I found these two articles helpful in taking my knowledge on this subject from “zero” to “dangerously uninformed”. 😂

Dave Verwer

Mobile releases are a silent killer, but not with Runway

Bouncing back and forth between tools, chasing down marketing for copy and stakeholders for sign-offs, clicking around gingerly in App Store Connect and Play Console… productivity, happiness, and general sanity suffer. Learn what makes mobile releases a silent killer and how Runway can help.

Tools

Configuring VSCode

Yes, this isn’t Xcode-related, but I bet many of you also use Visual Studio Code for editing JSON, YAML, HTML, CSS, or Swift! I especially liked what Bryan Braun wrote about the built-in terminal panel’s usefulness. I’d love Xcode to include something along these lines at some point.

Code

CustomAnimation

Having a set of animation APIs that are as easy to use as the ones that come with SwiftUI is wonderful, but what happens when you need a little more? Javier Nigro has some great examples of when you might consider using a CustomAnimation. 👍


Sensory feedback in SwiftUI

Stop for a second, sit still, relax and clear your mind. Do you feel that? Let it come to you naturally. Can you feel the unique vibrations of the universe? Or, is your phone doing a little vibration dance where you left it on your desk, telling you that Majid Jabrayilov wrote a blog post with some great advice on adding haptic feedback to your SwiftUI app?


Grape

I’ve seen many implementations of this visualisation in JavaScript and other languages, but I can’t remember ever seeing a native Swift implementation like this one from Zhen Li. It’s so much better than an embedded web view!


Adding an Info.plist file to a Swift executable

What a helpful thing to know, courtesy of Pol Piella and this forum thread.

macOS Development

The Care and Feeding of Developer ID

I hadn’t seen this post from Quinn “The Eskimo!” until he updated it this week, but what a tremendously useful thing it is! If you’re considering distributing outside the Mac App Store for the first time, this will save you so much time in silly mistakes. But I’ll bet you’ll still get something from it, even if you’ve used a Developer ID for years.

Videos

Videos from NSSpain 2023

NSSpain is a wonderful conference in a beautiful location, but if you couldn’t attend this year’s event in person, that doesn’t mean you need to miss out on the presentations! Here’s the complete set for you to dig into over the weekend.

Jobs

Mobile DevRel Engineer @ Embrace – Embrace helps mobile engineers build better experiences. We’re building a mobile developer community. Our goal is to win the trust of mobile developers and builders by meeting them where they are and by providing the right technical education, tools, and resources to enable their success. – Remote (within US timezones) or on-site (United States in CA)

Senior iOS Developer @ Linearity GmbH – We’re an award-winning design software suite that simplifies the asset creation process. Linearity Curve creates precision vector assets & Linearity Move is an animation software that crafts breathtaking animations in seconds. We’re crafting together a new iOS team, reach out if you’re Interested! – Remote (within European timezones)

Is your company hiring? Don’t forget to promote any open Swift or Apple platform positions over on iOS Dev Jobs!

And finally...

Well, it is in silicon valley! 😍

(this installation made an appearance in the recent Apple event, too)