Hey iOS developers! 👋
Each issue of Curated iOS is dedicated to a specific iOS development topic, like App Intents, Swift Package Manager, Swift, and more. This issue is no exception—though it’s a bit different. Today, you’ll find a collection of articles on Live Activities, SwiftUI, app architecture, measuring mobile app performance, and other topics, all published in the engineering blogs run by big tech companies.
Companies like Google, Meta, Spotify, and others manage engineering blogs to dive into the challenges they face, the solutions they create, and the innovations they drive. There are several reasons for this: these blogs help companies demonstrate their technical capabilities, foster innovation within their teams and the broader developer community, build brand recognition, drive product adoption, maintain relationships with developers, and, of course, attract top talent.
While engineering blogs often cover a wide range of development topics (except, perhaps, Apple), I’ve gathered the most interesting iOS-related content for you here.
The fundamentals of iOS at Revolut
The first article I want to share in this issue is by Illia Kucheriavyi, published on the Revolut Tech blog. Revolut, a financial technology company, has a number of different applications and SDKs, with more than 120 iOS developers working on its products. In this post, Illia shares the fundamentals of native Swift development for Revolut iOS apps, covering principles like continuous integration and continuous delivery, the feature rollout process, and architectural considerations, including modularity.
Read on Medium
Pickup in 3 minutes: Uber’s implementation of Live Activity on iOS
Next up is the Uber Engineering blog, featuring an article by Francesco Frison on implementing Live Activities. Introduced in iOS 16, Live Activities have become a must-have feature for food delivery and ride service apps. This article dives into how Uber began designing the feature, the engineering challenges faced, and how the company improved the user experience.
Read on Uber Engineering
That little island changes everything
Continuing with the topic of Live Activities, this article discusses the feature's implementation in the Lyft app. Although the article, written by Alexander Savard, focuses primarily on design, I decided to include it because it teaches us how to think about creating a great user experience.
Read On Lyft Engineering
Crafting Seamless Journeys with Live Activities
The Lyft Engineering blog has also published an article full of technical details on implementing Live Activities. Author Max Husar provides insights into three main areas: managing lifecycle events, creating adaptable UI elements, and seamlessly integrating remote image support. The article also offers a brief overview of the server functionalities.
Read on Lyft Engineering
Unlocking SwiftUI at Airbnb
Airbnb took a bold step by developing its own declarative UI framework, Epoxy, based on Swift and UIKit to build its iOS apps. This post by Bryn Bodayle reveals why and how the company decided to replace its custom framework with SwiftUI, how they integrated SwiftUI into Airbnb’s design system, and the results of this effort. It also discusses a few challenges that were still unresolved at the time of writing.
Read on The Airbnb Tech Blog
Animations: Bringing the Host Passport to Life on iOS
Let’s continue exploring The Airbnb Tech Blog with the next article. Anne Lu dives into the details of implementing animations for the "Host Passport" feature. Although Airbnb has started using SwiftUI, as we learned earlier, this particular feature was developed using UIKit due to limitations in supporting custom transitions and navigation patterns at that time.
Read on The Airbnb Tech Blog
Custom Navigational Transitions in iOS
In this article, Kanupriya Gupta showcases a real navigation example from Zalando’s iOS app, demonstrating custom transitions between two backend-driven screens.
Read on Zalando Engineering Blog
The evolution of Facebook’s iOS app architecture
Facebook’s iOS app is a prime example of a long-lived codebase, comprising C++, Objective-C, and Swift. In this article, Dustin Shahidehpour discusses the evolution of the app, which was first introduced back in 2012, and shares how its architecture has changed over the years.
Read on Engineering at Meta
How the Medium iOS team works effectively with legacy code
If your app is written entirely in Swift, with no SwiftUI code yet, and you think you have outdated code, check out this article about Medium's iOS legacy code, which is over 10 years old and still includes code dating back to 2013 and 2014. Zouhair Mahieddine shares how the Medium iOS team effectively works with this legacy code and explains why they chose not to rewrite it.
Read on Medium Engineering
The What, Why, and How of Mastering App Size
Although the Curated iOS newsletter focuses on iOS, I find articles on general mobile development fascinating. Viktor Petrovski, Dmitry Povolotskyi, and Bruno Rocha discuss why app size remains important in the modern world, how Spotify manages app size growth through pre-merge and post-merge processes, and the challenges of avoiding app size increases when adding new features or making improvements.
Read on Spotify Engineering
Measuring mobile apps performance in production
Gleb Tarasov from Booking.com Engineering shares the story of the App Performance team and how they monitor app performance metrics by building in-house performance libraries. These custom libraries, compared to third-party solutions, allow for better integration with Booking.com's infrastructure and are even open sourced.
Read on Booking.com Tech Blog
How GitHub reduced testing time for iOS apps with new runner features
In this article Stephen Glass and Eli Perkins discuss how the GitHub iOS team brings the app to developers around the world, explores the benefits of Apple Silicon, and building on GitHub Actions using macOS runners.
Read on GitHub Engineering
How we developed our addictive and delightful widget
I couldn’t miss the Duolingo Blog! Although the article by Osman Mansur and Jackson Shuttleworth isn’t specifically iOS tech-related, it covers the story of how the Duolingo widget was created, starting as a project during Duolingo’s annual hackathon.
Read on Duolingo Blog
Hopefully, this issue will not only help you learn something new about iOS but also broaden your understanding of software development as a whole. And who knows? You might just discover a valuable new source of information along the way.
Until next time!
Artjoms
Discussion about this post
No posts