Async Digital / Iris
Iris internals

How Iris works, from the inside

Six case studies measure Iris from the outside, through a demo app that fires URLs at it. This track goes the other way. Four short pieces open the library up and show the mechanisms that make race-safe, state-aware deep linking hold: how a URL becomes a typed intent, how a link to nothing is stopped, how sheet-versus-push is decided once, and how the resolved link reaches the one view that needs it.

Abstract

The consumer case studies answer what Iris guarantees and prove it against a reference app. This internals track answers how, for anyone integrating the package or reading its source. Each piece takes one mechanism and follows it end to end, in the order a deep link travels: parsed at a single seam into a canonical intent, checked for existence at one gate, resolved to a sheet or a push in one place, then handed to the view that consumes it exactly once. The four read best in that order, and each stands alone.


The track

Four mechanisms, in the order a link travels

A deep link enters the app as a string and leaves as a view on screen. Between those two points Iris does four things, each isolated so it can be reasoned about on its own. These articles take them in the order the link passes through them.

The internals


The outside view

The case studies

The six consumer case studies measure these same mechanisms from the outside, through the demo app: race safety under bursts, the containment footprint, state-aware resolution, tap-and-URL parity, the control surface, and a primed draft from one URL. Start there for the guarantees; this track is the how behind them. Iris is open source and MIT licensed at github.com/async-digital-ltd/iris.