2020 hatte sich Shopify für React Native entschieden, ein Framework, mit dem eine gemeinsame Codebasis iOS und Android bedient. Jede Funktion musste so nur einmal gebaut werden. Laut Mustafa Ali im Engineering-Blog ging diese Wette auf. Sprachmodelle hätten aber eine Grundannahme verändert: Zwei Plattformen zu pflegen koste weiterhin Aufwand, doch Agenten erledigten inzwischen genug davon. Nativ bleibe man zudem näher an den Funktionen und Werkzeugen der Plattformhersteller.
Als erste App zog Shop um. Vom Machbarkeitsnachweis bis zur Veröffentlichung in den Stores vergingen laut Shopify zwölf Wochen; die Grundlagen baute ein Kernteam von sechs Entwicklern. Nach eigener Messung sank der Kaltstart auf Android von 4.433 auf 2.233 Millisekunden, auf iOS um 23 Prozent. Abstürzende Sitzungen gingen auf ein Zehntel zurück. Die Android-App wurde 109 MB kleiner, die iOS-Fassung 1 MB größer.
Den direkten Weg hält Shopify für untauglich: Ein Modell auf den alten Code anzusetzen und die Funktionen in einem Zug nativ nachbauen zu lassen, erzeuge selbst mit vorab geschriebenen Spezifikationen viel Code, der sich weder pflegen noch ausliefern lasse. Das Unternehmen beschreibt deshalb das interne System Helix. Es zerlegt jeden Bildschirm in kleine Prüfpunkte. Jeder muss Tests bestehen, in einer visuellen Prüfung der laufenden App entsprechen, zwei gegnerisch angesetzte Code-Reviews überstehen und von einem Menschen freigegeben werden.
Als Nächstes folgt die Haupt-App Shopify mit über 300 Bildschirmen, Widgets und Apple-Watch-App; sie soll noch in diesem Jahr nativ erscheinen. Dafür trennt Shopify die Geschäftslogik von der Oberfläche, damit Agenten sie ohne Simulator über eine Kommandozeile in Millisekunden prüfen können. Für die Listen-Bibliothek FlashList mit rund zwei Millionen Downloads pro Woche spricht das Unternehmen mit mehreren Firmen über die künftige Betreuung, Restyle wird archiviert.
Alle Kennzahlen stammen aus Shopifys eigenen Messungen, eine unabhängige Auswertung liegt nicht vor. Die Shop-App wurde beim Umzug zugleich verschlankt, einige Bildschirme fielen weg. Außerdem stand dort ohnehin die Umstellung auf die neue React-Native-Architektur an, die ebenfalls größeren Umbau verlangt hätte.