Monday, July 21, 2025

what "everyone" gets wrong about "write once run everywhere"

✏️1️🏃🌐

It was never meant to be about the ability to write a single app that runs on any/all devices.

It is about the ability to use the skills/tools/technologies to build software that can run on multiple operating systems, devices, hardware, etc.


There are a very small number of scenarios where you want the exact same code running on every imaginable device. Even when you do want this, there needs to be logic within the software to account for the differences:

  • Different input devices (not just touch, mouse, & keyboards)
  • Different output devices (not just size of screen, or none)
  • Different sensors or physical capabilities
  • Different usage scenarios
  • Different connectivity or storage capabilities
  • Different user permissions or account settings


There's the dream scenario where you build a piece of software for a specific OS and/or device type, but then decide it would be nice if it ran somewhere else too, and you hope that tooling can magically make it happen for you.

Sometimes this works. To a point. But you'll almost always want some customisation or need to handle different scenarios or capabilities the new device(s) present.


What's useful is: when you know you need to build software that needs to run in lots of different places/ways, you can benefit from not needing to learn/support/maintain different technologies to build all that software. 

It's not just about the reuse of code once written, it's also about the reuse of skills.

0 comments:

Post a Comment

I get a lot of comment spam :( - moderation may take a while.