iOS
Articles on iOS performance, Swift optimization, Xcode tooling, and building fast Apple platform apps.
iOS engineering articles 211–240 of 733
Mobile App Launch Profiling
Andrew McKnight from Sentry just solved one of mobile performance monitoring's biggest blind spots. Ever wondered what's actually happening in your app before main() even gets called?
5 Mobile app optimization tips to enhance user engagement
Your mobile app's first impression isn't just important. It's everything. The Fullstory Team breaks down why most teams are optimizing blind, relying on assumptions instead of actual user behavior data.
Announcing Swift 6
Holly Borla from Apple's Swift Core Team announces Swift 6, bringing data-race safety from opt-in warnings to compiler-enforced guarantees. After a decade of development, Swift now targets embedded systems, ser...
Tophat: Crafting a Delightful Mobile Developer Experience
Shopify doubled developer productivity by turning the most tedious part of mobile development into a one-click experience.
Best Practices for NotificationCenter Usage in Swift
Timotius Leonardo Lianoto from IDN Engineering admits he's not a fan of NotificationCenter—it's hard to trace, difficult to test, and can turn into spaghetti code. But he's built a protocol-based solution that ...
Integrating SwiftUI and UIKit Navigation: A Step-by-Step Guide
Bevan Christian from IDN Engineering tackles a problem every iOS team faces: how do you navigate between SwiftUI and UIKit without creating a maintenance nightmare?
Building VoiceOver-Friendly iOS Applications
Gennadii Tsypenko from Just Eat Takeaway reveals why VoiceOver accessibility often gets overlooked in iOS development—and shares the exact SwiftUI modifiers that fix it. Most teams skip this until it's too late...
How the Medium iOS team works effectively with legacy code
Medium's iOS codebase is over 10 years old with code from 2013 still running in production. Instead of rewriting, they wear it as a badge of honor.
Eliminating Pbxproj Conflicts with XcodeGen for iOS Project Management
Bevan Christian from IDN Media reveals how his team eliminated merge conflicts that plague every iOS team. Two weeks of sleepless nights resulted in a solution that transforms project management.
Creating Custom UIButton Animations in Swift
Timotius Leonardo Lianoto from IDN Engineering tackles a common iOS pain point: UIButton animations feel lifeless compared to Android's satisfying touch feedback. His solution? A custom ripple effect that trans...
App Health Through Metric-Aware Rollouts
DoorDash was shipping experiments that crashed their app and degraded performance for weeks before anyone could identify the cause. They built an automated system to catch issues before customers feel the pain.
Unfold's Modern Mobile Release Process And The Subtle Art Of Making Them Boring
Alan Cooke from Squarespace reveals how Unfold turned chaotic mobile releases into boring background events. Boring is the goal, and here's why that's brilliant.
Swift Actor in Unit Tests
Abdul Moiz from Thumbtack reveals how Swift 6's concurrency checks broke their entire test suite. Their solution? A clever protocol-based pattern that makes actors mockable without sacrificing thread safety.
Ready for Swift 6
Dave Verwer and Sven A. Schmidt from Swift Package Index reveal that 43% of Swift packages are already data race safe. The Swift 6 migration is happening faster than expected.
Custom Navigational Transitions in iOS
Zalando's iOS team tackled a deceptively hard problem: creating smooth screen transitions when the entire UI is driven by the backend.
Challenges of mixed SwiftUI and UIKit codebases in iOS Apps
Medium's iOS team has been wrestling with a codebase dating back to 2013. Migrating from UIKit to SwiftUI? It's messier than you think.
Good Practices When Creating E2E Tests at Skeelo
Skeelo's QA team built a scalable E2E testing framework using Python + Appium. Here's the architecture that keeps their mobile tests maintainable as the app grows.
How We Optimized Concurrency Using Node.js at Skeelo
Skeelo's engineering team achieved a 30% performance boost by rethinking one simple thing: when NOT to use await in Node.js.
What's New in the Mobile Payments SDK Beta
Square just launched the successor to their Reader SDK after 6 years, and KIOS was among the first to build with it. Their integration story reveals what's actually possible when payment SDKs are built for deve...
How GitHub reduced testing time for iOS apps with new runner features
GitHub's iOS team just cut their CI testing time by 60%. Here's how they did it with Apple Silicon runners and some smart architectural changes.
Transitioning to Appcraft: Evolution of Zalando’s Server-Driven UI Framework
Zalando powers 13 dynamic mobile pages without waiting for app store releases. Here's how they built a server-driven UI framework that ships changes same-day.
The Fundamentals of iOS Development at Revolut
Illia Kucheriavyi from Revolut reveals how 120+ iOS engineers ship weekly releases across 5 apps while maintaining 150,000+ automated tests. Their secret? A mono-repo with 160 shared modules and build times tha...
Animations: Bringing the Host Passport to Life on iOS
Anne Lu from Airbnb reveals how her team built a 3D page-flipping animation that looks effortless but required solving novel iOS challenges. The Host Passport feature needed pixel-perfect timing across multiple...
Reducing the Size of Cash App for iOS
Cash App cut their iOS app size in half in one year. Here's the playbook they used to get from 245 MB to 126 MB downloads.
DragonCrawl: Generative AI for High-Quality Mobile Testing
Uber's mobile testing was broken. Engineers spent 30-40% of their time maintaining test scripts that broke with every UI change. So they built an AI that tests apps like a human would.
iOS Performance Monitoring with Datadog
Yassir Ramdani and Austin Lai from Datadog built a custom SwiftUI graphing library that renders thousands of data points without lag. Here's how they debugged performance bottlenecks that most iOS developers ne...
How to do pagination in SwiftUI
Medium's iOS team rebuilt their search feature in SwiftUI and needed infinite scroll. Here's the elegant pagination pattern they landed on after years of iteration.
Building AI-powered games with Gemini and Flutter
Very Good Ventures took the stage at Google Cloud Next 2024 to show how Flutter and Gemini are changing the game development playbook. Literally.
Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
Swift just jumped from iOS apps to microcontrollers. The Swift team launched example projects showing how to write firmware for ARM and RISC-V chips using a new experimental compilation mode.
Crafting Seamless Journeys with Live Activities - Lyft
Lyft built Live Activities that update millions of users per week—but iOS sandboxing, 4KB payload limits, and image rendering nearly killed the project.