Sponsored Link
Why more developers use Kumulos for Mobile App Analytics
Do you have 20/20 vision of how people are using your app? Kumulos analytics platform gives you both a commercial and technical look at your app's performance in one view. Give it a try for free right now.
News
The urge to be the first
I touched on this last week but it's worth re-iterating with this post from Pedro Piñera. You don't need to keep up with the tons and tons of material that this community is producing about SwiftUI, Combine, and all of Apple's other announcements. In fact, if you wait a bit (maybe even until the final release) then you'll gain the benefit of not having to rewrite your code three times before September, and that can only be a good thing.
You're doing fine, don't worry… 👍
Crowdsourced WWDC Session Notes
This is a great idea. Are you making notes on WWDC sessions as you watch them? Contribute them here and let's build something more than the transcripts give us. I do love a bit of crowdsourcing. ❤️
Tools
One small change for Xcode, one giant leap for productivity
I had no idea that Xcode could restore a snapshot of your app's data when it runs, or even better when running tests. It's not even new in Xcode 11, It's been around for a while too. This is an extremely useful tip from Mohsen Alijanpour.
Using Xcode Previews with existing views without using SwiftUI
Did you think Xcode Previews were only usable with SwiftUI? I know I did, until I read this article from Antoine van der Lee that explains how to get it up and running for your standard view controllers too. The implementation makes perfect sense too, so I don't think this is something that'll be "fixed" in the future. 👍
Note: You still need Xcode 11 and the Catalina beta to see Xcode Previews, you just don't need to be using SwiftUI.
Create Your Own Swift Package
Andrei Hogea with a guide on creating your own Swift Package using Xcode 11. It strikes me that Apple bringing this functionality first party, and so nicely integrated with Xcode might lead to more people splitting their code bases into packages. Private/internal CocoaPods were always a thing, but I didn't see them used much outside of very large companies.
Code
Building forms with SwiftUI
Beta 2 is here, and it brings new SwiftUI goodies! Majid Jabrayilov takes us through how to build a Form. If you thought static table view controllers were good, you'll really like this.
NFCPassportReader for iOS 13
iOS 13 finally gives better access to the NFC chip in modern devices, which means it can be used with all sorts of interesting tags that you might have lying around… like passports. What better way to get up to speed with what's possible. Thanks to Andy Qua for putting this example together.
Apple’s New CloudKit-Based Core Data Sync
Did anyone else notice that Apple snuck a version of Core Data cloud sync into this year's releases? As someone who knows Core Data syncing better than most, it's really interesting to hear what Drew McCormack thinks about it.
Is MVC dead with SwiftUI?
Of course it isn't, and John Sundell is here with a coupe of links to articles he wrote last year to prove the point. That said, I do think it'll be interesting to see how SwiftUI will affect the architectural choices we'll end up making in our apps going forward.
Business and Marketing
Deleting an app with an active subscription
New in beta 2, Federico Viticci noticed this great step forward for subscriptions on iOS. I wonder if we'll see more changes like this before the September releases?
Videos
UIKonf 2019 Videos
A full set of videos from the recent UIKonf conference. There's a YouTube playlist too, if you prefer to watch that way. As if we didn't have enough videos to watch at the moment. 😬
Five years of SLUG videos…
I only recently realised that the San Francisco Swift Language User Group were still publishing videos after the hosting and publishing situation changed a bit. Here's a great reminder from J.P. Simard that they exist.
Jobs
iOS Mobile Developer @ CARFAX – Having a creative and innovative environment where our developers can collaborate, learn and grow is something CARFAX is passionate about. We have an entire floor dedicated to our techies, designed specifically to enable teams to dream big and produce the best. CARFAX is also casual and dog-friendly each and every day. – Centreville, VA
Humbly Confident Senior Mobile Developer @ You Need A Budget (YNAB) – YNAB is growing, and so is our development team. We’re a software ecosystem that includes personal budgeting apps for web, iPhone, iPad, Apple Watch, and Android phones. Our mission is to help our users take total control of their money—not just by using an app (if only it were that easy), but changing habits and ways of thinking. – Remote
Swift Engineer @ WillowTree – At WillowTree, Senior Swift Engineers have the freedom to create products people love. You’ll collaborate with a cross-disciplinary team to build large-scale products for well-known brands. We look for team members who advocate for software engineering best practices and inspire their team to continuously learn and improve. – Charlottesville, VA
Whether you're looking for a job, or looking to hire, head over to iOS Dev Jobs right now.
And finally...
How did Apple keep SwiftUI so secret?
This is a trick that I expect only to work once… 🕵️♂️ Your move, Apple.
Comment
We've all had a couple of weeks now to get used to the fact that the future of Apple platform development is much more declarative and reactive than it was before the WWDC announcements.
I think most people who were already aboard the reactive programming train are generally in favour of Apple moving in that direction. I have seen a few tongue-in-cheek comments joking about how reactive Swift (note the lower case "r" there 😀) is suddenly seen as great now that Apple have blessed it. It's certainly true that there's nothing revolutionary here, we've had similar technologies available for years, but in my opinion this stuff being first party really matters.
Third party dependencies are costly, especially so if they affect the fundamental architecture of your app. It's one thing to use a small UI component for a specific view. It's something else entirely to base your entire architecture on a third party library. So when Apple do it, yes it's different to when an open source framework does it. SwiftUI and Combine have been in development for years and they won't ever be abandoned without real care and time to let them deprecate gracefully. I'm not saying they will be deprecated of course, but that if they are, it'll be done very carefully.
That's why it's OK for people to jump on board much more quickly when it's Apple doing this stuff, even if it's been possible for years.
Dave Verwer