Skip to content

Status

Shorebird is available on Android and iOS, with ~1000 apps using Shorebird on the App Store and Play Store.

As part of complying with the the App Store guidelines, Shorebird uses an interpreter on iOS to run any changed Dart code in your patch. This interpreter runs Dart about 100x slower than running on the CPU. To make patches run fast, Shorebird has modified the Dart compiler and runtime to make it possible to only run changed code on the interpreter and run any unchanged code on the CPU. This determination is done at a per-function level.

The program that decides which code runs on the CPU vs the interpreter is called the “linker” and we call this percentage the “link percentage”.

Most of the time this system works very well, and Shorebird is able to run 90%+ of your Dart code on the CPU. However there are still a few types of changes which can confuse the “linker” into running more code on the interpreter than necessary.

Known linker issues include:

If your app has reported an unexpectedly low link percentage, please let us know, we’d love to help. You can report an issue here: https://github.com/shorebirdtech/shorebird/issues Or reach us via Discord: https://discord.gg/shorebird.