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 419

30th August 2019

Written by Dave Verwer

Comment

I agree with John Gruber on the iOS 13/13.1 shenanigans that happened this week:

Basically, I think we need to get used to WWDC announcements being a roadmap for the next year of OS releases, not a list of what’s going to ship in the initial dot-zero release in the fall.

So… Show the roadmap at WWDC, ship a subset in September, then continue shipping features and APIs throughout the year. I think it’d be good for the platform, and it’d be good for developers as it would eventually reduce the need to rush through every summer implementing this year’s new features while they are all in beta. It might mean that that WWDC week (after the keynotes) would need a shake up, but that wouldn’t be the end of the world.

The most important part of this though that postponing features just a couple of weeks before developers were about to ship apps using them really isn’t ideal. That’s not news to anyone at Apple of course, and I know these decisions are not made lightly. But for the roadmap approach to actually work, we’d need to be told about the year’s plan in advance.

I hope it’s not too chaotic inside the spaceship right now, and I wish everyone working on the new releases good luck, no matter what makes it into the dot zero. 🤞

Dave Verwer

iOS Chat SDK for Stream Chat

Integrate a rich chat experience into your app with Stream. Get started now.

News

Should you write your app in SwiftUI?

Nick O’Neill nails the pros and cons of jumping in early on SwiftUI (and Combine). My opinion? I’d say it’s not wise just yet if you make (or plan to make) a business of your app. For side projects, or brand new apps that aren’t going to ship for a little while, go for it!

Tools

SwiftUI instant previews without Catalina

Want an interactive experience while working with SwiftUI, but still too nervous to put the Catalina beta on your development machine? John Holdsworth might have some good news for you.


Unused code cleanup in iOS projects

Maksym Shcheglov with a reminder that it can be easy to forget about the unused code that’s hiding in the far reaches of your app. This guide on how to find it, and remove it is worth a read.

Code

SwiftUI animations

You might not think there’s a lot to learn about SwiftUI animations, given that they are implicitly added by default. You’d be wrong. This excellent article from Javier Nigro may only be a “Part 1”, but even so there’s a huge amount of knowledge on how to tame animation in our newest UI framework in this post.


The Curious Case of the Core Data Crash

I always love a good debugging story. You’ll almost always learn something, even if you don’t have the same issue as the person doing the debugging. This time it’s Sean Heber’s turn to teach us something about iOS background execution.


Caching in Swift

The biggest performance win you can ever get for your app is to make it do less. One way to achieve that is to cache things once you’ve done them once! Let John Sundell take you through taming NSCache with Codable.


Using GraphQL in iOS with Swift

Kristaps Grinbergs with a great post introducing GraphQL, then covering how to use it from Swift with the Apollo iOS GraphQL client. Worth a read.


ZippyJSON

NSJSONSerialization is probably fast enough for 99% of cases, and I’d recommend using it whenever possible. However, if you’re often parsing a lot of JSON then the performance wins in this library from Michael Eisel might be what you need.

Of course, you’ve definitely made use of the techniques in John’s post about Caching, and Kristap’s post on GraphQL before getting to this point, right? 😬

Business and Marketing

Follow Through

When you are hurtling towards a release, it can often feel like shipping the binary is the finish line. Of course, it’s just the beginning of a new phase of the app lifecycle, and Brent Simmons is here with some great pointers after the release of NetNewsWire. Congratulations to Brent (and everyone else involved) on the release! 🎉


Looking Elsewhere

As with every post on Curtis Herbert’s blog, this is an exceptionally well thought out post about whether, how, and when to consider an Android version of your app.

Jobs

Senior iOS Engineer @ Fi – Fi is reinventing the relationship between dogs and their humans by providing dogs more freedom and their owners peace of mind through the Fi Smart Dog Collar. We’re working hard to push pet tech forward by building amazing hardware and software, all in a dog friendly office. Come join our veteran team that hails from Nest, Square, Google, MakerBot, FourSquare, and Canary. – New York, NY

Senior iOS Engineer @ Resy – At Resy, we are tackling hard problems with elegant solutions and scaling very quickly. As an iOS Engineer, you’ll be a crucial player in taking our product to the next level. We’re seeking ambitious coders who are eager to build out exciting features for our restaurant partners and diners. You thrive in a dynamic and evolving environment and you’re excited about tech and hospitality. – New York, NY

Senior Software Engineer iOS @ Dataminr – This is an opportunity for you to own our mobile product, help us upgrade to Swift, and influence our technical strategy. You’ll also mentor junior engineers and help our team scale as we build products with global impact. See how the UN uses our real-time alerts to react faster in crises and keep their people safe around the world. – New York, NY

Mobile Software Engineer @ Diamond Kinetics – Do you love baseball? Join Diamond Kinetics to build iOS apps that are revolutionizing the sport of baseball. Work on cutting-edge baseball technology with our Bluetooth-enabled baseballs and swing sensors that put deep baseball analytics in every coach’s pocket. – Pittsburgh, PA

iOS Engineer @ Muse – Muse is a thinking canvas on your iPad. It brings together your notes, PDFs, and photos into a single, fluid space. We’re seeking one engineer to join our all-remote team of four. Come show the world how powerful the iPad can be for creative work. – Remote

iOS Engineer @ Lickability – Lickability is a small software studio in NYC building iOS apps with clients. At Lickability, you’ll have the opportunity to work side-by-side with teammates, participate in architecture and project-planning discussions, and contribute to our company style guide so we can keep getting better at what we do. Join a team focused on building delightful apps! – New York, NY

Senior iOS Developer @ 1 Second Everyday – Join a diverse team that’s working on the next, privacy first, social network. 100% remote. Award winning product, profitable since day 1, and backed by impact-focused investors. – Remote

iOS Engineer @ Karbon – Join our dedicated, all-remote agency and help us build amazing iOS apps for amazing clients. We’ve spent the past 10 years helping companies ship apps to millions of users—join us as we focus on the next 10 years. – Remote or Portland, OR

Senior iOS Developer @ Mindgrub – As a Senior iOS developer at Mindgrub, you will be given the opportunity to work with industry-leading professionals on a variety of native and cross-platform apps. The culture is collaborative, fast-paced, and fun. Apply today. – Baltimore, MD

iOS Developer @ Shape – If you are passionate about making state-of-the-art iOS apps, why not work together with some of the best designers and developers who share this passion? You will work together with other smart iOS developers in a fun and relaxed environment at our offices in Copenhagen. We also like to host social events, morning runs (and swims), Friday bars, board game nights, LEGO days and much more. – Copenhagen, Denmark

Are you looking for a job? Check out the full list of over 45 open positions on iOS Dev Jobs.

And finally...

Service Unavailable

✉️