InfoQ Homepage Mobile Content on InfoQ
-
The Ten Year Journey of Facebook's App for iOS
Facebook rewrote its iOS app in 2012 to take advantage of native performance and improve reliability and usability over its previous HTML5-based cross-platform implementation. In the ten years since the rewrite, the app codebase has evolved non-stop to account for the introduction of new features, to circumvent SDK limitations, and to keep up with changes in the iOS platform.
-
How Lyft Detects Android Memory Leaks in Production
While modern tooling for Android and iOS enable memory leak detection using local builds, this is not enough to guarantee an app shows correct memory behavior in production, where it runs on a wide range of devices in diverse conditions. For this reason, Lyft engineers combine A/B testing and memory observability to detect which features leak memory.
-
Android Extension SDK Aims to Simplify the Use of Modular System Components
Introduced with Android 10, Modular System Components enable updating end-user devices outside of the normal Android release cycles. The new Extension SDK framework, now public, aims to make their integration simpler for developers.
-
Generating Text Inputs for Mobile App Testing Using GPT-3
A group of researchers from the Chinese Academy of Sciences and Monash University have presented a new approach to text input generation for mobile app testing based on a pre-trained large language model (LLM). Dubbed QTypist, the approach was evaluated on 106 Android apps and automated test tools, showing a significant improvement of testing performance.
-
Learnings from Spotify Mobile Engineering’s Recent Platform Migration
Recently, Spotify Mobile Engineering Team elaborated on their experience with a recent platform migration. Working on an initiative under the Mobile Engineering Strategy program, the team migrated their Android and iOS codebases to build with Bazel, Google’s open-source build system.
-
AirBnb Animation Engine Lottie Improves Performance by Adopting Core Animation
AirBnb has announced the fourth major iteration of its open-source vector-based animation engine Lottie. Thanks to the adoption of Core Animation, Lottie 4.0 provides significant performance improvements and reduces CPU load, says AirBnb iOS engineer Cal Stephens.
-
Apple Announces Full Swift Rewrite of the Foundation Framework
The Swift team has started to work on a new open-source implementation of the Foundation framework. To be written entirely in Swift, the new Foundation aims to improve performance by getting rid of conversion costs between Objective-C and Swift as well as to provide the opportunity for modularizing and clean it up.
-
Swift to Add Support for Ownership, Macros, and C++ Interop
The Swift language workgroup has detailed the main focus areas for the development of Swift in 2023 and further on, which include defining an ownership model for memory management, non-copyable types, a macro system, and C++ interoperability.
-
Apple Adds Core ML Support for Stable Diffusion on Apple Silicon
Apple released a set of optimizations to Core ML to enable running the Stable Diffusion text-to-image model on Apple Silicon-powered devices running the latest iOS or macOS versions, respectively iOS 16.2 and macOS 13.1.
-
Google Releases a Guide to Android App Modularization
Google has recently released a guide to Android app modularization. This guide is designed to bring best practices and recommended patterns for developers to build multi-module Android apps, focusing on mitigating problems that arise when the codebase grows, such as scalability, readability, stability and testability.
-
Google Launches Relay to Transform and Accelerate Android UI Creation
Recently launched in alpha, Relay is a design-to-code solution aiming to radically transform the way UI designers and UI developers collaborate to create Android UI components by removing the need for UI specs.
-
Porting Million Lines of Code from Java to Kotlin at Meta
Meta has been at work to port their Android codebase from Java to Kotlin. In the process, they have learned a number of lessons of general interest and developed a few useful approaches, explains Meta engineer Omer Strulovich.
-
How Slack Engineers Addressed Their Most Common Mobile Development Pain Points
In a rather detailed article, Slack engineers Ahmed Eid and Arpita Patel provided an interesting peek into the processes they adopted along the years to improve developer experience in a number of distinct areas and the tools they used to that aim.
-
AWS Amplify for Swift Reaches 2.0, Brings Async/Await and macOS Support
Previously known as AWS Amplify iOS, AWS Amplify for Swift now offers a rewritten API to support Swift async/await and make concurrency code more idiomatic. Additionally, the new release introduces beta support on macOS for a number of AWS features, including Auth, Storage, Geo, and others.
-
Safe Mode is Lyft's Approach to Handling Feature Flags Incidents
Feature flags are a useful tool to conduct A/B experiments and to roll out changes in a controlled way. To make sure that their use does not end up disappointing users when a change causes a crash or degrades the user experience, Lyft created Safe Mode, specifically aimed to prevent crash loops on launch.