Live data from Hacker News

WebAssembly: a binary format for the web

2ality.com

121–130 of 164 posts

Re: WebAssembly: a binary format for the web

#121

Earlier quoted context omitted.

Yet, isn't much of the web already unreadable due to minification of JS source?

If you think minification does anything to prevent anyone from reading it you are mistaken. Is it harder? Yes. Impossible, not even close, just annoying. I've reversed engineer JS libraries with 20K LOC that were minified and uglified in less than a day, hardly what I consider a hurdle. Now, to have worked with asm.js recently, that's a whole different ball game. That is unreadable, at least without spending copious…

What do you get out of reading some random website's minified javascript?

Re: WebAssembly: a binary format for the web

#122

I am someone who makes a living having a SaaS that clients use. I've had clients who have tried to "clone" my work, but eventually come back because they couldn't figure out the backend code or scale. I would love something that is the equivalent of installing an app on a phone, that is using a compiled app in a browser. Where the source can't be viewed. Even better, if I can give a rich UX. By having access to the s…

So even though they can't succeed at 'stealing' your job by copying the code you still don't want them to have access?

Re: WebAssembly: a binary format for the web

#123
post #113
post #105

Earlier quoted context omitted.

> I honestly think that one of the key ingredients to the success of the web is that just about any web page you can see, just about anyone with modest knowledge can trivially work out how it was done. Not really. Almost all websites obfuscate/minify their Javascript now, making manually interpreting the code much less than "trivial." I think WebAssembly will be no worse to figure out than obfuscated Javascript.

I think it will be much worse. Minified Javascript is pretty easy to turn back into something moderately understandable just by "prettifying" it. I do this all the time. It works pretty well because it started as Javascript, so turning it back into Javascript has a relatively clean mapping. WebAssembly will have started as some other language or even as no language at all - there may be no mapping back to anything Ja…

I think WebAssembly will be much closer to Java byte code than actual machine assembly. And Java byte code can be easily decompiled into readable Java code (at least as readable as minified Javascript).

Re: WebAssembly: a binary format for the web

#124
post #113
post #105

Earlier quoted context omitted.

> I honestly think that one of the key ingredients to the success of the web is that just about any web page you can see, just about anyone with modest knowledge can trivially work out how it was done. Not really. Almost all websites obfuscate/minify their Javascript now, making manually interpreting the code much less than "trivial." I think WebAssembly will be no worse to figure out than obfuscated Javascript.

I think it will be much worse. Minified Javascript is pretty easy to turn back into something moderately understandable just by "prettifying" it. I do this all the time. It works pretty well because it started as Javascript, so turning it back into Javascript has a relatively clean mapping. WebAssembly will have started as some other language or even as no language at all - there may be no mapping back to anything Ja…

A polyfill to Javascript is already planned.

https://github.com/WebAssembly/design/blob/master/Polyfill.m...

Re: WebAssembly: a binary format for the web

#125
post #122

I am someone who makes a living having a SaaS that clients use. I've had clients who have tried to "clone" my work, but eventually come back because they couldn't figure out the backend code or scale. I would love something that is the equivalent of installing an app on a phone, that is using a compiled app in a browser. Where the source can't be viewed. Even better, if I can give a rich UX. By having access to the s…

So even though they can't succeed at 'stealing' your job by copying the code you still don't want them to have access?

I don't have a job. I offer a service to clients. I get paid when they use my software.

If they created their own software, they would not have to pay me any money. So without money, I have to go on welfare.

You get my point?

No, I don't want any of my clients to get access to my source code. I am not a giant corporation like redhat, google, oracle or other company that open sources it's software and then sells support or other services.

I'm a small company, who with more clients. Is hoping to them employ a small workforce and grow the company.

Re: WebAssembly: a binary format for the web

#126

Earlier quoted context omitted.

Yet, isn't much of the web already unreadable due to minification of JS source?

If you think minification does anything to prevent anyone from reading it you are mistaken. Is it harder? Yes. Impossible, not even close, just annoying. I've reversed engineer JS libraries with 20K LOC that were minified and uglified in less than a day, hardly what I consider a hurdle. Now, to have worked with asm.js recently, that's a whole different ball game. That is unreadable, at least without spending copious…

When we are talking about browsing code for the purpose of leisure curiosity and learning, yes it is a real hurdle.

Re: WebAssembly: a binary format for the web

#127
post #98

Earlier quoted context omitted.

Java applets were slow to load because fast loading was never made a priority. WebAssembly is prioritizing small size and fast loading. Java Applets were completely isolated from the surrounding web page, and vice-versa. I tried writing XEyes as a Java Applet back in the day, but the eyeballs could only follow the cursor while the cursor was directly on top of the applet's rectangle. WebAssembly operates on the singl…

The example in article had went from a GZIPed size of 4.1 MB to 3.0 MB. For the massive increase of obscurity the transferal optimization trade off isn't that great. But it's a double edged sword, I'd also wager obscurity would entice larger AAA game developers to start targeting web.

It's not an increase in obscurity though: https://github.com/WebAssembly/design/blob/master/TextFormat...

The format is intentionally being built in a way that you can look at the source, in the same way you would look at minified Javascript currently.

If you're worried about obscurity, look at what is generated by asm.js. WebAssembly won't be any worse than that (and is, in fact, more or less a more efficient/correct equivalent to asm.js).

Re: WebAssembly: a binary format for the web

#128
post #53

Earlier quoted context omitted.

Well, considering it was: - isolated (outside of DOM) - non standard (not everywhere) - third party (proprietary) - alien (uncanny value of different UI style) - bloated (even compared to the web stack, Spring was an over-engineered badly designed mess of a GUI API) - insecure (full of exploits to this very day, tons of them closed just last year) it does sound as a great improvement. Except in case you weren't there…

I was very much there, and I'd sooner eat my cat than go back to that era of Java. But C++? Is that really the best we can do? Everyone's so afraid of breaking backwards compatibility but I don't see any other way out of the never-ending accretion of hacks Eich left us with.

Rust in the browser?

Re: WebAssembly: a binary format for the web

#129
post #97

As laudable as the goal of improving performance is, I hope this never takes off. Why? Because it will take about 5 minutes from 90% of the web to go from open, transparent, easily reverse engineerable source code to essentially giant blobs of secret binary code. People will pay lip service to performance but 99% of the reason that web sites will implement this will be to cover up their code, keep secret their implem…

Yet, isn't much of the web already unreadable due to minification of JS source?

Aren't there many JS beautification tools that can un-minify JS? It won't unshorten variable names, but the code should still be fairly readable.

Re: WebAssembly: a binary format for the web

#130

I hope to see so the developers that don't like JavaScript stop writing bad JavaScript and just write it in whatever class based type based system they want instead of adding classes and types to Javascript.

But adding type system to JavaScript - as Facebook has done with Flow - and class system - as in ES6 - actually makes complex JavaScript better and easier...

I have literally heard the argument that React basically doesn't count as OOP anymore because they are now emphasizing 'functional' Javascript, even though they still rely on the main base class.
Post reply on HN