Earlier quoted context omitted.
Web apps are better because they are as much device-independent as apps can get nowadays. Service Workers are the background service for web apps, but since users don't want those services to drain the battery unnecessarily, you have to use the Push API to trigger those background jobs. So yes, if the app is the active app, you can do polling, WebSockets and all the like and have no problem. Background services are (…
> Web apps are better because they are as much device-independent as apps can get nowadays They are actually not really. If you can't run a modern browser on your platform, you're out of luck. I think the real "as much device-independent as it can get nowadays" is just Firefox On the major platforms Java is as much as device independent as the web
Older browsers, on the other hand, might not be able to use offline features, but at least you can use the app in the traditional always-on mode.
For your comparison with Java: It is true, Java is very device-independent, but the deployment procedures are much more complicated than simply entering a URL.