Hacker News new | ask | show | jobs
by zghst 3664 days ago
I don't think that it's ES6 that's holding them back, there's Babel to fix that, I think it's all the browser vendors and the varying level of standards, different bugs and behaviors on every browser platform, plus there's features on Native platforms that are nearly impossible to replicate on the web. For instance `backdrop-filter`/iOS 7 like blurring wasn't possible on the web until Webkit implemented it, a year later only Safari has it and it's buggy in Chrome Canary (it blurs content under the box shadow). Another example ServiceWorkers, only in Firefox and Chrome, which cover most users on the Desktop, but on mobile you're screwed because half of your users use mobile Safari.
3 comments

backdrop-filter tends to go in my not-very-nice-to-have bucket. It's certainly something you can live fairly comfortably without.

Service workers are more of an issue - realistically if you want to build a serious web-app for iPhone right now you're going to have to build a shim around it for notifications and offline, although that can be quite small.

If you are aiming to provide a worthwhile experience to the users who will never install your app, or need some serious selling first then you need something on the web, so you are going to have a mobile site. Building a lightweight service-worker shim around that for iPhone and providing a couple of browser-specific stylesheets ought to be less work than full native apps.

I filed the backdrop-filter bug: http://crbug.com/618913 Hopefully we can get it sorted. :)
And for good reason. I don't want random websites burning my battery for their "oh so important" background tasks.
This seems like a misunderstanding of the tech. Service workers can really only fire up when they get a push notification, which you have to explicitly opt into, or when the page is running in the browser.

The processing allowed is tightly controlled, and even with permission the push notification can't do anything behind your back - it has to result in a visible notification which will alert you that there's something you want to disable.