A few weeks ago there was an extended discussion on the future of Objective-C and I linked to a couple of different stories on it. This week Jason Brennan posted a follow up to his original article. He argues that we're not thinking big enough by just considering a replacement for Objective-C and that we need to think of a bigger picture on how we build software in a more modern way. It's a lengthy article but certainly one worth reading, and looking back on in 5 years.
What platform should you write your next game for?
Last week, Majid Jabrayilov covered the basics of logging using Apple's unified logging system. This week, he covers the next thing you'll need after starting to log diagnostic information, a way for users who are experiencing problems to get those logs back to you.
Do you want to improve your SwiftUI skills? Are you at a loose end next week? If so, this (virtual) event organised by Jordi Bruin might be just what you need. There's a different theme every day, so you're sure to learn something whether you jump in for just one or attend throughout the week! It's all free, too. What a fun idea.
I still have the first book on Mac programming that I ever read sitting on the bookshelf next to me. It’s hard to describe how much has changed since then. AppKit has had too many improvements to count, and that’s before we even consider Swift and SwiftUI!
This new book from Sarah Reichelt will help you get to grips with Mac development, and you’ll build four apps while you read it using a combination of SwiftUI and AppKit. That should get you up to speed!
For full disclosure, I received access to this book for free.
It’s been a few weeks since the Swift project’s website became open-source. In that announcement, Tom Doron said that one of the first steps would be establishing a working group, and here he is again announcing the formation of that working group!
What’s that? Why is my name on that list? Yes, I applied to the group, and I’m delighted to say that I will be a part of the workgroup. I hope to contribute what I can to improve the site over the next couple of years!
This week saw Apple announce a few more details about the in-person portion of this year’s WWDC.
Even though these words make no appearance on the page, I love how the URL to the page ends in “special-day”, and I’m sure it will be exactly that for those that attend. The circumstances mean that it will almost certainly be a unique event.
I won’t be applying for a ticket or travelling the 6,000 miles it’d take for me to set foot inside Apple Park, but I’m still glad there’s an in-person aspect to the conference this year. Meeting in-person can never be as equitable as an online-only conference. However, I still hope that thousands of developers gathering in California once a year becomes a regular part of the calendar again.
If you live a little closer to Cupertino or are willing to travel, Apple will allocate the (presumably free) tickets via a lottery on Monday or Tuesday. Apple will then distribute the tickets on Wednesday, so it’s all going to happen fast!
As for the mention of the “Developer Centre” everyone is talking about, I’m not even going to speculate. It could be anything from a temporary marquee next to the Apple Park rainbow to a secret underground lair where Apple executives cater to your every need as a developer. 😂 We’ll have to wait and see! I’m keeping my fingers crossed for the underground lair.
Oh, and the organisers over at WWDC Community event have announced they’ll again be hosting an online-only event and are looking for volunteers if you want to help out!
Let’s recap some history, as it’s been a while! I first linked to it in Issue 2 of this newsletter! 😱 The concept was brand new and very tempting. It promised no need for custom back-end servers—Just integrate the client library, define model objects, and save data to the cloud. Easy! It was Firebase or AWS Amplify, but ten years ago. Parse lasted longer than their major competitor, Stackmob, who was acquired and then shuttered just a few months later. But eventually, in 2017, Facebook turned off the hosted Parse servers.
They did open-source the platform as they closed it down, partially due to the huge number (600,000, according to this article) of apps they'd disrupt without a migration path. I was vaguely aware that the open-source project was still around but I hadn’t paid much attention until I spotted this package pop up in the Swift Package Index RSS feeds this week.
The README looked impressive and seemed to be primarily created by one person, Corey E Baker. I was curious, so I reached out to him, and he explained that his interest came out of wanting to sync some CareKit data through to Parse. The Parse server has received consistent maintenance, but Corey explained that while still functional, the Objective-C client had fallen behind with implementing some newer server features. He jumped in and started working on the Parse Swift library, and just look at that graph! 🥳
Why am I writing about this? Well, it has always been risky to base an app on another company’s back-end server. Yes, it can save a lot of time, but you’re always at the mercy of another company’s business decision, and their priorities almost certainly don’t match yours. Maybe the platform you pick will shut down, fundamentally change its pricing, or make another decision that doesn’t work for you. Your options are limited as these frameworks live at the heart of your app. The Parse platform is now free of many of those problems. As it is open-source, it’s almost impossible to shut down, and being self-hosted, you’re in control of pricing. Even better, the server has been around long enough now that it should be pretty stable and feature-rich. Then, with the tremendous amount of work that has recently gone into the Swift client, it’s looking like a promising project for iOS and macOS apps again.
It’s also so lovely to see a successful project rise out of the ashes of yet another “acquire and shut down” situation. The project is well funded enough to run a Paid Contributors Program, and that’s a terrific thing to see! I was so happy to discover this little corner of the iOS world thriving when I thought it had faded away.
Maybe check it out next time you’re reaching for Firebase or Amplify. 💡
One thing I heard repeatedly last week was people saying "What are we going to complain about now?". I was pretty confident that we would all find something suitable to fill the void now that Christmas came early, Justin Williams kicks us off.
Try not to get lost in this and emerge smiling an hour later like I did.