Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
And it’s here! Welcome to Issue 186 and WWDC 2019 week!
If like me you watched yesterday’s keynote, you’re head will no doubt be spinning with all the new stuff and also ideas for new things you can build! I have to say, I loved the look of the new Mac Pro hardware – a bit of a throw-back to the cheese grater I’ve got sat under my desk… and what a beast! Needless to say I want one *AND* a Pro Display XDR (which looks beautiful)! Time to start saving!
The introduction of iPadOS – a new platform distinct from iOS and specifically targeted at the iPad is, for me, a welcome move helping free Apple from the distractions of having to balance iOS vs iPad user experience and allowing for some great new workflows. It’ll be interesting to see the impact that this brings to tailoring apps specifically for the iPad.
We also saw the expected introduction of Marzipan (or ‘Project Catalyst’ as it’s now called) for bringing iPad apps to the Mac. This is another area that I”m keen get my hands on and see how it works in reality.
Further leaps forward in terms of ARKit are also welcome (though not too unexpected given the push in recent years). The introduction of RealityKit and Reality Composer will definitely help with generating 3D content, especially if you’re like me and don’t necessary have the full in-depth experience of computer vision, graphics and photo realistic rendering.
The biggest surprise though is the arrival of Swift UI. Although there have been rumours about a new declarative framework I hadn’t really expected this to arrive this year but with that said, the demo was pretty compelling. Shorter code, a more Swift Playgrounds-like experience allowing drag-and-drop UI design with automated code generation and bi-directional updates from code to UI and back again and built-in support for ALL Apple platforms and native Apple frameworks. What’s not to like? 😍 Add that to the ability to adopt it gradually (which will seriously help) and I’m really looking forward to get to grips with this one over the next few days!
For now though, I’m going to leave it here for this weeks issue. It’s only been a few hours since the keynote and I’m sure, like me, you’re keen to download the betas, dive into the documentation and start experimenting with all the new goodies. Have a great week this week and be sure to hit me up on Twitter if you find anything interesting that you think others might be interested in.
If you’re unable to attend WWDC this week but are looking to keep track of the various going’s on, then make sure you check out this new site from @swiftbysundell. Posting regular updates, articles, interviews and other WWDC related material it’s a great way of keeping track of everything that’s going on and already has a bunch of great material. 👍 to John for this one.
Great article about subscriptions on iOS from @_DavidSmith which includes some well thought out ideas on how to reduce the opportunity for scams and abuse and improve the whole experience for users. I’d can definitely get behind Apple implementing almost all of these as I it needs to be clear what users are signing up for when they sign up for a subscription. Add in some of the tweaks suggested by @jcieplinski in this follow-up article and I think it’s a set of changes that could make a real difference.
It’s every developers worst nightmare. One minute your app is flying high, ranking as the number one result in your category and then overnight it disappears from the app store search results. This was the situation facing @russshanahan this week and whilst this turned out to be a bug and things seem to be recovering, it’s a salutary lesson if your trying to make your living in the store – If humanly possible, don’t ever have all your eggs in one basket – you never know what is going to happen!
So you’ve had an app in the store for a while as a paid app but have decided now is the time to switch to a more freemium style approach. How do you go about making this delicate transition without alienating your existing users?
@soulchildpls walks you through the process.
Managing callbacks in your asynchronous code can be a pain, and you’re always risking dreaded retain cycles if you’re not careful. Learn how to simplify things with with this introduction to Futures and Promises from @tiborbodecs
There are a whole host of object communication patterns in iOS including protocols, simple target/action callbacks, RxSwift observables, Notification Center and more. In this article, @onmyway133 takes a look at the different patters we have at our disposal and how you can simplify things through the use of closures.
In this fascinating interview, @markgurman interviews former head of Apple’s App Store Review process @pbsIdentity who ran things for Apple between 2009 and 2016. Clearly things have likely changed a little since Phillip left given that app review times have dropped significantly in recent years but none-the-less, the interview provides some great insight into how the app review process works.
With the ever-growing need to store larger and larger multimedia files on device, @V8tr has been doing some interesting experiments with Core Data to try to identify the most efficient way of storing image and video files locally.
Althought Marzipan will inevitably bring huge changes over the coming months @chockenberry has been thinking about the longer-term and the increased complexity that the different interaction paradigms on different Apple platforms has introduced. Could the move to a more declarative style of programming that we’ve seen in recent years be our saviour?