News for hackers. Stuff that matters.
Re:Moving from Native Apps to Progressive Web Apps by pedalpete on Sunday November 13, 2016 @02:44AM (#12942328)
Why would you want to solve the problems of native apps rather than solve the problem (there is only one) of web apps, which is the performance issue.

Customers don't install apps for the most part. Why try to solve for that?

Re:Moving from Native Apps to Progressive Web Apps by josephg on Sunday November 13, 2016 @03:07AM (#12942382)
Why? Because building hack on top of hack is convenient, but terrible craftsmanship. The web today is a red hot mess of overlapping standards and inconsistent APIs. Google chrome is up to ~20M lines of code now, which makes it bigger than the linux kernel (with every device driver). Its basically a small virtualised operating system at this point.

How many more lines of code do you think it'll take for chrome to feel fast and light again? Is it possible to achieve that by adding code, forever? And then to work around all the cruft in browsers we have frameworks like react - conceptually beautiful but which do layout by diffing thousands of DOM elements through javascript.

The stack is a mess, and I don't see any direction it can possibly go but fatter, bigger and uglier than ever before. Forever. Surprisingly, this is a fate native apps have avoided. And in avoiding that fate new laptops have amazing battery life and work great. Well, until you open chrome or slack that is.

> Customers don't install apps for the most part. Why try to solve for that?

I don't write code for customers. I do it because as a kid I fell in love with the craft. I just... didn't fall in love with programming for this. Nope nope nope I want off the train before I throw up.

Re:Moving from Native Apps to Progressive Web Apps by dasil003 on Sunday November 13, 2016 @03:42AM (#12942456)
The reason native apps have avoided that fate is because they are not cross-platform, they are entirely controlled by a single vendor. Of course you also have cross-platform GUI toolkits like Java and Qt, but they suck because they don't have true vendor support.

The web has solved these things: it's an open standard which any serious device maker must support to be taken seriously. It can load applications in a relatively safe sandbox on demand. And it does all this with tremendous backwards compatibility that even 90s Microsoft would be envious of.

You're absolutely right Chrome is a virtualized operating system, but that's what it takes to be open and cross platform. Designing a better platform is the easy part; getting it to cross the chasm where it has first class device vendor support on a majority of platforms is the practically insurmountable part. I'm not saying it can't happen, but I don't think any organized group of humans has the power to do it intentionally.

Re:Moving from Native Apps to Progressive Web Apps by blub on Sunday November 13, 2016 @08:27AM (#12943202)
The irony in all this push towards web apps is that browsers will become more and more bloated, out of the user's control and insecure.

Chrome is not a virtualized OS, it has become a mega-plugin similar to Java or Flash, except with better but still insufficient security. As more of the platform services are exposed to the internet, we'll start seeing new and interesting exploits, such as tracking users based on battery status and attacks on the local network (https://news.ycombinator.com/item?id=12406310).

Re:Moving from Native Apps to Progressive Web Apps by caleblloyd on Sunday November 13, 2016 @06:21AM (#12942844)
> The stack is a mess, and I don't see any direction it can possibly go but fatter, bigger and uglier than ever before.

Yes, the stack is a mess! I am hopeful that Web Assembly will make things better.

Re:Moving from Native Apps to Progressive Web Apps by the8472 on Sunday November 13, 2016 @03:36AM (#12942444)
The problem of the browser environment is that it is yet another, less-powerful abstraction level on top of the operating system.

And the worst thing is that it is a hermetically sealed abstraction. There is no escape hatch to access the underlying primitives in those cases where you need them. Even virtual machines offer device passthrough these days for those cases where the virtualization overhead is too expensive and you need exclusive, direct access to some hardware. You could even assign the device to a container inside the VM.

Browsers offer no such way to punch through all the abstraction layers.

They don't even speak berkeley sockets.

Re:Moving from Native Apps to Progressive Web Apps by gbog on Sunday November 13, 2016 @06:05AM (#12942804)
This. And performance is actually very easy to solve, it is already solved by the sites like hn, wikipedia, etc: focus on content and drop all the useless "beautiful" stuff.