Will you be able to easily run your apps 20 years from now, without any maintenance?
- Android – very unlikely.
- iOS – very unlikely.
- HTML5 – probably, if they are self-contained.
An app is self-contained if it does not references any external resources. That means no reliance on proprietary APIs, no loading of resources from CDNs, etc.
If a backend, API, or other service is needed, it should be possible for the user to set up their own version, and enter the url in the app. The service should be open, generic, stable, easy to set up, and have a large user base at the time of writing. There should be no custom backend code / schemas outside of the app itself. Examples of such services could be CouchDB, STOMP, and in the future maybe matrix and IPFS.
The easy test is to open
index.html of the project on an offline computer with different browsers with wiped caches, and check if everything works. If it depends on services, – they should be able to run on the same offline computer.