Interesting that no-one has mentioned HTML5 yet. If everyone programmed web apps for this platform then "app neutrality" would not be an issue. Assuming the devices all implemented the spec consistently.
That's an assumption big enough to drive a truck through. In my experience, every platform needs custom support or hacks to fix little annoyances, problems and incompatibilities. You end up with de facto per-platform support even though you're using common tech.