A platform bridge is an interface with a lifetime problem
Permissions, biometrics and share sheets all need something shared code does not have: a host that outlives the call.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
103 posts
Permissions, biometrics and share sheets all need something shared code does not have: a host that outlives the call.
No reflection on Native, so the serializer is generated. Sealed hierarchies work; open polymorphism needs a module you register by hand.
Swift cancels its Task. The Kotlin Job never hears about it, so the work keeps running.
Dispatchers.Default is a single thread in the browser. Code that was merely slow on Android becomes a frozen tab.
Autonomous codegen produces an app that compiles; what makes it one that ships is a gate stack refusing any claim that carries no evidence.
A platform-native runtime and a portable one differ in ways the type system will not catch. What the shared declaration may promise is the whole design.
Designing an expect/actual seam so platform differences stay on one side. What the shared declaration must not promise, and where the abstraction leaks.