Mobile Computing · Cluster

Cross-Platform Development

Shared code and platform fidelity.

  1. 01 The Portable Core Boundary: What Shared Code Must Not Reference Portability follows from the set of symbols a module names rather than the language it is written in, so a shared core is built by inverting platform dependencies at the edge. foundational · May 6, 2025
  2. 02 Retained Native Widgets or an Owned Render Tree Two architectures dominate cross-platform mobile UI: delegating drawing to the platform widget toolkit, or owning the render tree and painting it. Each fixes a different kind of fidelity and breaks the other. foundational · Dec 23, 2022
  3. 03 Marshalling Across the Language Boundary Every call between shared code and platform code crosses a runtime boundary with a serialisation step, a scheduler hop, and a lifetime problem. The cost is dominated by crossings, not by bytes. foundational · Dec 24, 2023
  4. 04 Shared State Without a Shared Heap Two platform runtimes cannot hold the same objects, so cross-platform state lives in an external store with subscription and persistence semantics that the framework must define itself. intermediate · Oct 13, 2026
  5. 05 Text Metrics and Line Breaking Across Two Font Stacks The same string occupies different space on two platforms because measurement, shaping, and fallback differ. Shared layout must pick one authority for metrics or accept divergence. intermediate · Oct 6, 2026
  6. 06 Back Navigation When the Two Platforms Disagree Android has a system back action with predictive gestures; iOS has an edge swipe owned by the navigation controller. Reconciling them means modelling history in the shared core and restoring it after process death. intermediate · Nov 22, 2024
  7. 07 Bridging One Semantics Tree to Two Accessibility APIs A shared widget description must be projected into two different accessibility object models. The projection is lossy in both directions, and the losses are what make a screen unusable rather than merely imperfect. intermediate · Nov 24, 2025
  8. 08 Wrapping a Native SDK Behind a Shared Interface Third-party SDKs ship as binaries with their own threading, error, and lifecycle models. A plugin boundary has to normalise all three, and the normalisation is where most integration defects originate. advanced · Aug 13, 2026
  9. 09 One Description, Two Design Languages Material and Apple design languages differ in elevation, corner treatment, motion, and safe-area insets. A shared description has to keep semantics while letting the visual layer diverge per platform. advanced · Sep 27, 2024
  10. 10 Shipping Shared Code Outside the Release Cycle Delivering the shared layer as a replaceable bundle decouples it from the native shell, which turns every release into a matrix of shell and bundle versions and every rollback into a data-compatibility problem. advanced · Sep 23, 2025