iOS Dev Weekly - iOS Dev Weekly - Issue 486

Be wary of adopting those shiny new technologies too early! It has a real cost. 💸
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 486  December 11th 2020

 
Comment

  Comment  

 

This is a fascinating story from McLaren Stanley about a rewrite of the Uber app in the early days of Swift. If you’ve not yet read it, go and give it a look now. I promise it’s worth your time.

It’s easy to forget how rough the first couple of years of Swift development were, and how early adoption had a real cost. That cost might have been manageable in a small app, but this story is a rarely shared insight into what it was like at a big company that decided to go all-in so early.

Rewriting an app when a new technology comes along is so tempting. The idea of being able to remove all those imperfect decisions, and getting a “clean start” is intoxicating. Add the allure of the brand new technology into the mix, and it can be almost impossible to resist. Of course, the path is rarely smooth. New technologies often demo well but also have really spiky edges that hurt when you run into them. You’re also just as likely to make a whole new set of bad decisions as you fix the last set. 😬

We’re fortunate in software development that we’re able to go back and tweak the things we’ve built. We’re able to improve what we already have at the same time as shipping new features. It’s a rare privilege that’s not afforded to many industries. You can’t tweak a novel after it’s been published, or a building after construction is finished.

Yes, it can be hard to make large architectural changes incrementally, but is it harder than making large architectural changes while also adopting a new language like Swift or a UI framework like SwiftUI?

The Swift transition is mostly done by now, and I expect the vast majority of you are now writing most of your new code in Swift. The SwiftUI transition period is still in full swing though, and once that’s done, there’ll surely be another tempting opportunity to rewrite! We’re lucky with technologies like Swift and SwiftUI that Apple pays attention to interoperability, it’s a great deterrent against the lure of the rewrite. 😅

That said, you should also be careful not to fall too far behind. We’re now 18 months into SwiftUI, and if you’ve shipped any part of a real app using it, you’re ahead of the curve. If you’ve not yet had at least a little play with it in a demo/test app, you’re probably on the edge of lagging behind. Like everything in software development, it’s a balance, and there’s no right answer. Just try and avoid being a zealot, or a curmudgeon. Stories like this are also a good reminder that being “pure” anything isn’t something to strive for, in my opinion.

The story McLaren tells worked out in the end, but he also refers to several people burning out. I’m glad they ended up in a good place, but you should treat this as a cautionary tale. It’s not the only time I’ve heard stories like this, and I’ve even participated in one or two over the years, although the scale of mine are much smaller.

Thanks for sharing McLaren!

Dave Verwer

 
 

  Sponsored Link  

 

Testing your mobile app internally isn’t enough to ensure its quality

Is your app slow to launch or load? Are network requests timing out? Are there rendering issues and UI hangs? Get a detailed distribution of UI hangs occurrences per screen with Instabug’s triple threat of Application Performance Monitoring, Crash Reporting, and Bug Reporting and trace the issue. Get started now and ship apps users love.

instabug.com

 
 
 

  News  

 

iOS Dev Happy Hour

I've been slow to catch on to the phenomenon that is the iOS Dev Happy Hour. Organised by Allen Whearry, these meetings are a great way to meet fellow iOS developers. There are already ~700 people signed up for this event on the 19th! That's remarkable! I'll be there, will you?

eventbrite.com

 

Airport Design Awards

I linked to Airport back in Issue 469, and even though I feared that it might fall victim to Apple removing it from TestFlight, it has thrived there. They recently did their own version of the Apple Design Awards, featuring the best apps that aren't yet on the App Store. What a great idea, and congratulations to the winners!

airport.community

 
 

  Tools  

 

How to configure Xcode projects for different environments?

Yunus Koçyiğit with some great advice on the various ways you can separate your production/staging/QA builds in the least disruptive way. It's not about multiple targets anymore!

medium.com

 

lowmad

LLDB scripts can be great time savers, but who wants to manually edit their .lldbinit file? This new tool from Johan Thorell will save you some time, and potentially help you discover some new debugging time savers.

I would just urge a little caution here. Not because of the tool, but because downloading someone else's LLDB script might cause the debugger to do things you don't expect, or worse. 😅 Be careful out there!

github.com

 
 

  Code  

 

Snapshot Testing. Testing the UI and Beyond

You probably have some unit tests for your app, but do you do more than that? Here's Georgios Sotiropoulos with a three-part (part 1, 2, 3) look at many aspects of snapshot testing, and why you should automate not only basic tests, but tests of other aspects of your app, like dynamic type.

Georgios recommends the Point-Free swift-snapshot-testing which we also use to test the rendered HTML output from the Swift Package Index, which is open-source if you want to take a look at a practical example of this on a server-side Swift project.

medium.com

 

Formatted Localizable Strings

At first glance, this article from Alex Grebenyuk might appear to be about formatting localisable strings. It is, but it's also about his Formatting library, and that solves a problem that I've repeatedly been frustrated by for years. What problem? You should read the article. 🎉

kean.blog

 

Building a tvOS app in SwiftUI

We hear lots about building iOS apps with SwiftUI, slightly less about building apps on macOS, an occasional post here and there about watchOS, but nothing about SwiftUI on tvOS. Here's Daniel Saidi to rectify that with a great post on building a streaming app for the TV. Interestingly, he found performance problems with lazy grids, which I've not seen anyone talk about yet. I wonder if that's a tvOS specific problem?

danielsaidi.com

 
 

  Business and Marketing  

 

Barter

For those times when you absolutely have to have your App Store sales figures available at all times, why not put them on your home screen? Here's a little app from Aaron Pearce that does exactly that!

For full disclosure, Aaron sent me over a promo code for this app.

apple.com

 
 

  Jobs  

 

iOS Developer @ SpareRoom – Want to work on an app repeatedly featured by Apple? One that’s received tens of thousands of 5-star ratings? Come and join us at SpareRoom, the UK’s best-known flatsharing business. We’re looking for an experienced, passionate developer to lead the development and delivery of our iOS app, at a really exciting time for the team and business. Get in touch! – Manchester UK

iOS Developer @ Doximity – Doximity, the medical network used by over 70% of US clinicians, is hiring passionate iOS engineers (remote friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! – Remote within the US, or San Francisco CA

Mid-Level/Senior iOS/tvOS Developer @ Berlin Phil Media GmbH – Join the team working on the Digital Concert Hall of the Berliner Philharmoniker – the leading international video streaming platform for classical music concerts. You will be working on our highly visible iOS and tvOS apps. Development is fully native with fast adoption of the newest Apple technologies. Your contribution will shape a unique global service together with a small but powerful team. – Berlin Germany

iOS Swift & iOS QA Engineer @ Redzone Production Systems – Redzone is looking to hire talented Engineers to join our team. We build a communication and collaboration platform that enables frontline workers to resolve day-to-day production issues themselves before they become problems. (iOS, Swift, Scala, AWS, Kubernetes) – Remote, Miami FL, or Birmingham UK

Senior iOS Engineer @ Branch – Want to build transparent and honest financial services that help working Americans grow? Come join us! – Remote within the US

 
 

  And finally...  

 

Swipe right if you like the way they indent their code...

I can't let this pass without also linking to Matthew's tweet. I saw so many people tweet about this app during the week, but Matthew made me chuckle the most. In fact, this tweet is much more fun than the app. 😂

 
You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 485

Friday, December 4, 2020

You've gotta know when to hold 'em, know when to fold 'em, know when to walk away, and know when to run 💸 View on the Web Archives ISSUE 485 December 4th 2020 Comment When you run your own

iOS Dev Weekly - Issue 483

Friday, November 20, 2020

Was there any big App Store news this week? Only a reduction in Apple's revenue share percentage for companies who's apps earn less than $1m/year. 🚀 View on the Web Archives ISSUE 483 November

iOS Dev Weekly - Issue 482

Friday, November 13, 2020

We got a glimpse of the future, and it was full of M. 😍 View on the Web Archives ISSUE 482 November 13th 2020 Comment As I write this, the first Apple Silicon Macs are making their way across oceans

iOS Dev Weekly - Issue 481

Friday, November 6, 2020

What's that hiding just the other side of the weekend? Is it Apple's first Apple Silicon machines? I hope so! 🖥 View on the Web Archives ISSUE 481 November 6th 2020 Comment It's (presumably

iOS Dev Weekly - Issue 480

Friday, October 30, 2020

What's the best business model for your app? 💸 View on the web Archives ISSUE 480 October 30th 2020 Comment Pricing is a vast, complex topic, and it's hard to talk about in generic terms –

You Might Also Like

Deduplication in Distributed Systems: Myths, Realities, and Practical Solutions

Monday, November 25, 2024

This week, we'll discuss the deduplication strategies. We'll see whether they're useful and consider scenarios where you may need them. We'll also do a reality check with the promises

How to know if your data has been exposed

Monday, November 25, 2024

How do you know if your personal data has been leaked? Imagine getting an instant notification if your SSN, credit card, or password has been exposed on the dark web — so you can take action

⚙️ Amazon and Anthropic

Monday, November 25, 2024

Plus: The hidden market of body-centric data ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

⚡ THN Recap: Top Cybersecurity Threats, Tools & Tips (Nov 18-24)

Monday, November 25, 2024

Don't miss the vital updates you need to stay secure. Read the full recap now. The Hacker News THN Recap: Top Cybersecurity Threats, Tools, and Practices (Nov 18 - Nov 24) We hear terms like “state

Researchers Uncover Malware Using BYOVD to Bypass Antivirus Protections

Monday, November 25, 2024

THN Daily Updates Newsletter cover Generative AI For Dummies ($18.00 Value) FREE for a Limited Time Generate a personal assistant with generative AI Download Now Sponsored LATEST NEWS Nov 25, 2024 THN

Post from Syncfusion Blogs on 11/25/2024

Monday, November 25, 2024

New blogs from Syncfusion Build World-Class Flutter Apps with Globalization and Localization By Lavanya Anaimuthu This blog explains the globalization and localization features supported in the

Is there more to your iPhone?

Monday, November 25, 2024

Have you ever wondered if there's more to your iPhone than meets the eye? Maybe you've been using it for years, but certain powerful features and settings remain hidden. That's why we'

🎉 Black Friday Early Access: 50% OFF

Monday, November 25, 2024

Black Friday discount is now live! Do you want to master Clean Architecture? Only this week, access the 50% Black Friday discount. ​ Here's what's inside: 7+ hours of lessons .NET Aspire coming

Open Pull Request #59

Monday, November 25, 2024

LightRAG, anything-llm, llm, transformers.js and an Intro to monads for software devs ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Last chance to register: SecOps made smarter

Monday, November 25, 2024

Don't miss this opportunity to learn how gen AI can transform your security workflowsㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect