iOS
Articles on iOS performance, Swift optimization, Xcode tooling, and building fast Apple platform apps.
iOS engineering articles 661–690 of 733
Detecting List Items Observed by User
Zalando's engineering team faced a tricky challenge: how do you know if a user actually *saw* an item in a scrolling list, not just flew past it?
Mobile Crash Reporting at LinkedIn
LinkedIn built their own crash reporting system instead of using third-party tools. Here's why that decision paid off.
Messaging Sync: Scaling Mobile Messaging at Airbnb
Zhiyao Wang and the Airbnb team tackled a massive problem: their mobile inbox was loading like a 2001 webmail client. With 100k+ messages per hour, every tap meant a network request, killing UX on slow connecti...
Building a Dynamic Mobile CI System
Shopify slashed their mobile CI deploy times from 2.5 hours to 15 minutes. Here's how they built a system that scales horizontally without breaking a sweat.
Improving Swift Compilation Times from 12 to 2 Minutes
Zalando's iOS team was bleeding 12 minutes per build. That's not just annoying, it's expensive.
iOS Internationalization: Handling Plurals
Lou Franco from Atlassian admits he spent decades writing plural-unfriendly strings because Brian Kernighan tricked him. Now, scaling Trello to 21 languages forced him to confront a hard truth: English pluraliz...
Better List Views
React Native just killed ListView. The new list components solve memory leaks, stale rows, and ignored bugs that plagued mobile developers for years.
Introducing Twitter Image Pipeline iOS Framework For Open Source
Twitter open sourced their iOS image pipeline after hitting a breaking point: 2GB caches, corrupted images, and no way to clear data when users logged out. Here's how they rebuilt it from scratch.
iOS Monorepo
Uber scaled from a dozen iOS engineers to hundreds in just a few years. Their tooling nearly collapsed under the weight.
Code Signing and Distributing Swift Applications
The Badoo iOS team learned the hard way: adopting Swift in 2015 meant navigating undocumented code signing nightmares that crashed enterprise apps at runtime. Here's what broke and how they fixed it.
Using Native Driver For Animated
Your React Native animations are probably running on the wrong thread. Here's how one config flag can eliminate frame drops when JavaScript gets blocked.
Mobile App Testing Tips and Tricks
Alexander Khozya from Bumble's mobile QA team shares battle-tested strategies that caught critical bugs before millions of users did. His team's approach to testing saved them from costly re-submissions and use...
Four Load Testing Mistakes Developers Love to Make
Klarna Engineering found that developers' optimism about their own code creates predictable load testing blind spots. Here are the four mistakes that keep biting teams before Black Friday.
iOS Location Tracking Implementation
Bohdan Orlov from Bumble reveals why iOS location tracking is way harder than most PMs think. Spoiler: you can't just set a timer and call it a day.
Easier Upgrades
React Native upgrades used to be a nightmare of merge conflicts and lost changes. The React Native team just changed that with a clever Git-based solution.
Engineering the Architecture Behind Uber’s New Rider App
Uber completely rewrote their rider app from scratch. Here's why they threw away years of code and started over.
Crashcan: Building a Better Mobile Crash Analytics Platform
Etsy built Crashcan, their own mobile crash analytics layer on top of a third-party provider. Why not just use the vendor's dashboard?
React Native 0.36: Headless JS, Keyboard API, and More
React Native 0.36 just dropped with game-changing background task support. If you've been waiting to run JavaScript while your app sleeps, this is your moment.
iOS Internationalization: Designing for Translators
Lou Franco from Atlassian learned the hard way: internationalizing Trello's iOS app wasn't just about code. The translation files themselves became a critical UX layer that could make or break the entire locali...
Offline First: Introducing TrueTime for Swift and Android
Instacart shoppers were losing minutes in grocery store dead zones. The culprit? You can't trust device clocks when every second counts.
The iOS Bug Chase
An Allegro engineer spent weeks hunting a MapKit bug so elusive it disappeared and reappeared randomly across devices. The investigation went from Swift code to assembly to a conversation in San Francisco.
Improving Chat Rendering Performance
Twitch was dropping frames like crazy. Chat messages were taking 200ms to render when they had just 16.667ms to work with for smooth 60fps video.
Adopting Swift: Migrating to Frameworks on iOS
Felipe Cypriano from Thumbtack reveals how migrating iOS apps to frameworks nearly derailed their Swift adoption—until they discovered a clever workaround for binary dependencies.
Dynamic App Content: An Introduction to Truly Native Apps
Zalando faced an impossible triangle: daily content updates, premium native UX, and distributed teams without native experience. Their solution? Server-driven UI before it was cool.
The Mobile Device Lab at the Prineville Data Center
Facebook built a 2,000-device testing lab inside a data center. The journey from tangled cables to custom EMI racks is a masterclass in scaling mobile performance testing.
Proper Use of CellForRowAtIndexPath and WillDisplayCell
Zalando's iOS team challenges a widely-cited performance myth about UITableView that's been misleading developers for years.
Getting to Slack Faster with Incremental Boot
Slack was making 4.2 million users wait through loading screens every single day. Time to fix that.
Supporting The Transition To IPv6-Only Networking Services For iOS
Dragos Bogdan from Cloudflare tackles Apple's 2016 bombshell: all iOS apps must support IPv6-only networking. Here's why most developers were caught off guard by a protocol that's been around since 1998.
React Native: A Year in Review
One year after open sourcing React Native, Facebook dropped a bombshell at F8: Microsoft and Samsung are bringing the framework to Windows, Xbox, and SmartTVs. The mobile-first framework just became platform-ag...
React Native: A Year in Review
Martin Konicek reveals how a 2013 hackathon project became a framework that changed mobile development forever. One year after open-sourcing, React Native hit 30,000 GitHub stars and attracted 650+ contributors...