iOS Dev Weekly - iOS Dev Weekly - Issue 571

Is SwiftUI less flexible or hackable than AppKit or UIKit? Maybe, but that's probably a good thing. 🪩
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 571  August 12th 2022

 
Comment

  Comment  

 

Something struck me as I read Daniel Saidi’s blog post on hiding the iOS home indicator with SwiftUI. It relates to the hackability of SwiftUI versus UIKit/AppKit.

Yes, SwiftUI is getting significantly more capable every year by adding view modifiers like the one in Daniel’s article. However, I’m not sure the plan is for developers to have quite the same level of control as is possible with UIKit/AppKit. Yes, it’s still possible to perform tricks, but Apple has repeatedly said that the underlying implementation will not always use UIKit/AppKit as SwiftUI matures, and I’m sure they’d never suggest an approach like that.

But there’s some subtlety to how Apple is controlling this API design. SwiftUI has loads of flexibility in certain areas. Take List or Grid, for example. Cell design is entirely down to you. Go wild with it and create your disco UI there!🕺🪩💃🏻. It only gets more tightly controlled with the higher-level areas of design, like navigation.

There are advantages to having navigation be more locked down, though, like cross-platform development (where the platforms are all Apple platforms, of course). The new NavigationStack layout is significantly different between a macOS app and one on iOS or watchOS, but all you need to think about is the underlying hierarchy. Even if we rule out all platforms other than iPad and iPhone, I don’t think anyone would argue that it’s easier to set up standard navigation for iOS in UIKit vs SwiftUI.

I also read Nick Babich’s piece on ordinary design this week, and the points he makes also fit this topic well. So many apps on my phone have tried to re-think or implement their custom navigation, and virtually all of them would be better off with something more standard. Nick points out that the “ordinary design” suits most people, and while you can certainly aim to make a statement with design, that’s not the best choice for most apps.

Make apps like Toyota makes Corollas. Save the disco UI for where your app is unique, and that’s not the navigation UI.

Dave Verwer

 
 

  Sponsored Link  

 

Tired of missing critical issues affecting your app? Try Instabug

Building quality apps has never been easier with Instabug bug reporting, real-time crash reporting, and application performance monitoring, all in one SDK. Instabug tracks all the metrics that affect your users’ experience and boosts your app performance. Start your free trial now and see why mobile-first companies rely on Instabug.

instabug.com

 
 
 

  News  

 

An Open Source Implementation of Code Signing and Notarization

It wasn’t a huge announcement from this year’s WWDC, but the Notary API was a big deal for some sections of this community. Here’s Gregory Szorc talking about Robin Lambertz’s pull request to PyOxidizer that allows code signing and notarization from Linux. 👍

gregoryszorc.com

 

App Store SEO Shenanigans

John Gruber talking about why the Dropbox app is now titled “Dropbox: Cloud Photo Storage”.

I find this unsurprising but depressing.

Me too, John. 🙄

daringfireball.net

 
 

  Tools  

 

Autocompletion for SPM Commands

Here’s a helpful post from Marco Eidinger on how to get tab completion for SwiftPM commands, thanks to support built directly into SwiftPM!

The post also mentions Oh My Zsh, which I have now been using for twelve years! It's a really nice, unobtrusive set of a few built-in plugins and a huge library of optional ones. I wholeheartedly recommend it.

eidinger.info

 
 

  Code  

 

Adjust the direction of SwiftUI focus-based navigation

No more need for nextKeyView and previousKeyView. Here is Natalia Panferova with how to control focus navigation in SwiftUI using one of the new APIs for macOS (that was previously only available in tvOS).

nilcoalescing.com

 

Editable Grids in Proton

It’s been a while since I first linked to Proton from Rajdeep Kwatra. Hard work has continued on the library, and Rajdeep explains how he added grid support to the latest version in this article! It’s really impressive work on an ambitious project.

medium.com

 

Implementing a main thread watchdog on iOS

Does your app often get caught by the iOS watchdog? Wouldn’t it be nice if you could log something just before the watchdog kills your app? Jesse Squires has just the thing for you. 🚀

jessesquires.com

 

ISO8601DurationFormatter

I knew all about ISO8601 as a date formatting standard, but did you know that ISO8601 can also represent durations in a standard way? I found out when I spotted this new package from Kevin Klaebe! 🕐

swiftpackageindex.com

 
 

  Jobs  

 

iOS SDK Developer @ Stream – You will write and maintain our open-source SDKs that are used by hundreds of our customers and consumed by hundreds of millions of their users. – Remote (within US timezones)

Senior iOS Engineer (Swift) @ GoodNotes – GoodNotes is a top-rated paid-for productivity app, available to use on iPad, iPhone and Mac devices with over 10m MAU. You will own your projects and work alongside a high-calibre cross-functional team to continue delivering a product our users love! – Remote (within European or Asia-Pacific timezones) or on-site (Hong Kong or United Kingdom)

Senior iOS Engineer @ Sendwave – We currently have a 4.6-star rating on Trustpilot — people put their faith in us to deliver their money quickly, securely, and affordably. And we’re pretty darn proud of that. – Remote (within US or European timezones)

MacOS/iOS Developer @ DeepL – DeepL is hiring! Want to join the team behind the internet's most powerful translation engine? We are seeking an experienced MacOS/iOs developer to join our Native Apps team, on a fully remote basis. – Remote (within European timezones)

Senior iOS Software Engineer @ Cambridge Mobile Telematics – Cambridge Mobile Telematics (CMT) is on a mission to make the world’s roads and drivers safer. We measure driving quality, incentivize safer driving, assist users in crashes in real-time, and improve safety for millions of drivers every day around the world. – Remote (within US timezones) or on-site (United States in MA)

 

Don't forget that there are many more available jobs over at iOS Dev Jobs. What's the harm in having a quick browse?

 
 

  And finally...  

 

It’s so strange. Our analytics say that 78% of new users make it to the signup screen and then go no further… 😂

 
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
 
 

 
 
©2022 iOS Dev Weekly | Privacy Policy | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 570

Friday, August 5, 2022

Software development is a lot like rock climbing, I think! 🧗‍♂️ View on the Web Archives ISSUE 570 August 5th 2022 Comment I don't think I've ever written about it before, but I believe there

iOS Dev Weekly - Issue 569

Friday, July 29, 2022

Where would you write Swift code without Xcode? TextEdit? 👎 Microsoft Word? 👎 Or … View on the Web Archives ISSUE 569 July 29th 2022 Comment I've been meaning to check out the Swift for Visual

iOS Dev Weekly - Issue 568

Friday, July 22, 2022

To embrace or resist the new wave of AI-based APIs. That is the question! 🤖🖼 View on the Web Archives ISSUE 568 July 22nd 2022 Comment Did you see Steve Troughton-Smith's experiments using

iOS Dev Weekly - Issue 567

Friday, July 15, 2022

Thank you for all of your help and support helping to make sure the Package Index is sustainable 🙏😍 View on the Web Archives ISSUE 567 July 15th 2022 Comment First up this week, I want to thank you all

iOS Dev Weekly - Issue 566

Friday, July 8, 2022

We need some help making sure the Swift Package Index is around for the long term? Can you help? 🙏 View on the Web Archives ISSUE 566 July 8th 2022 Comment I was going to start this week's issue

You Might Also Like

JSter #234 - Libraries and more

Monday, January 6, 2025

Happy new year JavaScripters! New year, new challenges. I have a small favor to ask you. I have a MSc student researching how AI is used for web development. To help out, fill his query (5-15 mins).

WP Weekly 225 - Wins - New Launches, 2025 Predictions, Year 2024 Recap

Monday, January 6, 2025

Read on Website WP Weekly 225 / Wins All the 2024 stuff is behind us; hoping everyone is a winner going forward in this amazing WordPress community. Let's start 2025 with WordPress goodness upfront

SRE Weekly Issue #458

Monday, January 6, 2025

View on sreweekly.com A message from our sponsor, incident.io: Ever wonder how Netflix handles incidents at their scale? With incident.io, they've built a process that's smooth, scalable, and

OpenAI proposes a new corporate structure - Sync #500

Sunday, January 5, 2025

Plus: Nvidia's next move; the state of AI hardware startups; "AI factories" for war; BYD enters humanoid robot race; ChatGPT Search vs. Google Search; and more! ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

🔋 You Need a Super-Fast USB Car Charger — First-Party vs. Third-Party Cookies

Sunday, January 5, 2025

Also: How I Use Shortcuts and Apple Numbers to Track My Time How-To Geek Logo January 5, 2025 Did You Know Theodore Roosevelt was the first US President to ride in an automobile while in office.

RD#487 Instance Hook Pattern

Sunday, January 5, 2025

co-located logic and controlled API ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

PD#607 Systems Ideas that Sound Good But Almost Never Work

Sunday, January 5, 2025

"let's just..." scenarios ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

Android Weekly #656 🤖

Sunday, January 5, 2025

View in web browser 656 January 5th, 2025 Articles & Tutorials Sponsored Sick of your mobile apps crashing? Simon Grimm will show you how to fix them with less guesswork. Join Sentry's workshop

Daily Coding Problem: Problem #1659 [Easy]

Sunday, January 5, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by WhatsApp. Given an array of integers out of order, determine the bounds of the smallest

C#538 Unit Testing Clean Architecture Use Cases

Sunday, January 5, 2025

Battle-tested approach to unit testing ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌