Building for Platforms
The landscape of modern software targets — web, mobile, embedded, and IoT — and the trade-offs that define each one.
- Reading time
- ~41 min (+25 min optional)
- Level mix
- 5 beginner · 3 intermediate
Not all software runs in a browser or on a server. This path surveys the full range of platforms that software runs on — from the web browser (the most ubiquitous runtime in history) through mobile devices, embedded hardware, and the internet of things.
Each platform imposes a different set of constraints: power budgets, network availability, display capabilities, input methods, and update cycles. Understanding those constraints is what distinguishes platform-aware software design from code that happens to compile.
Roadmap
Loading progress...
The web
A program that fetches web pages over HTTP, parses HTML/CSS/JavaScript, and renders them as the interactive sites you see.
The core decision in app development — build a native app installed per platform, a web app that runs in the browser, or a hybrid that blends the two — each trading reach against capability and performance.
Mobile
Software designed to run on a phone or tablet — distributed through an app store and sandboxed by the platform.
Beyond the screen
A small, special-purpose computer built into a larger product — a microwave, a car ECU, a smart thermostat, a satellite.
The Internet of Things — everyday physical objects embedded with sensors and network connectivity, letting them collect data and be monitored or controlled remotely.
Specialised platforms
- Game EngineOptional
A reusable framework for building video games — rendering, physics, audio, input, scripting, scene tools — so game teams build worlds, not engines.
- Scientific ComputingOptional
Using computers to model, simulate, and analyze scientific and engineering problems — from weather forecasts to drug discovery — through numerical methods running on everything from laptops to supercomputers.
- SpreadsheetOptional
A grid of cells holding data and formulas that recalculate automatically — the world's most widely used programming tool, even though most users don't think of it as programming.