Cross-platform UI Engines Rendering Performance - Andy Wingo, Igalia
Channel: The Linux Foundation
Date: 2023-07-12

Cross-platform UI Engines Rendering Performance - Andy Wingo, Igalia

Why would Signal have chosen to make completely separate apps for Android and iOS?  Is there any hope for making high-performance mobile apps in an open source, cross-platform way?
In this talk, we first take a step back and try to characterize the state of the field: how is it that people make good-performing, pleasing apps these days for Android, for iOS, and in a cross-platform way?  Having extracted some lessons from the state of the art, we apply them to identify opportunities and to predict the future.
Coming at the topic from a compilers perspective, this talk focuses on the mechanisms at work in modern app development frameworks: the platform-specific SwiftUI and Jetpack Compose but also the cross-platform React Native, Flutter, and other JavaScript-based cross-platform frameworks.  We identify a number of commonalities but also note that the field is in a phase of recomposition, coming out of the world where the only answer was "write it once in Java and then again in Objective C".
Topics discussed: ahead-of-time and just-in-time compilation, declarative programming models, the relationship between language design and performance, WebAssembly, JavaScript, TypeScript, Kotlin, Swift, Rust, garbage collection, concurrency, standardization, the web, among many others.