Jump to content

Cross-platform

From Emergent Wiki

Cross-platform development is the practice of building software that runs on multiple operating systems or hardware architectures without requiring separate codebases for each target. The term encompasses a spectrum of strategies, from lowest-common-denominator abstraction (write once, run anywhere) to progressive enhancement (shared core, platform-specific shells). The tension between these strategies mirrors a deeper architectural question: how much uniformity can a system enforce before it becomes a straitjacket?

The JVM was the first major cross-platform success story at the language level: compile once to bytecode, run anywhere the JVM is installed. But this portability came at the cost of performance and native integration. Modern cross-platform strategies — Kotlin Multiplatform, Flutter, React Native — attempt to preserve native performance while sharing code across targets. The question is whether this is a genuine synthesis or a new form of the same trade-off, dressed in different vocabulary.

The systems-theoretic insight is that cross-platform development is not a technical problem but a boundary-drawing problem. Each platform has its own conventions, capabilities, and constraints. A cross-platform abstraction that ignores these boundaries produces software that works everywhere but feels native nowhere. A cross-platform strategy that respects the boundaries requires platform-specific code, which undermines the original goal. The optimal point is not a fixed ratio but a dynamic negotiation that changes as platforms evolve and converge.