4 ms·
Which method do you propose instead for people to run interactive applications?
by Aardwolf 8y ago
Which method do you propose instead for people to run interactive applications?
- pjmlp 8y agoInternet protocols and native applications. Let the browser be a document viewer. Failing that, finalize Web Assembly's design to the point that the browser is just yet another general purpose VM. WebIDL then defines the APIs accessible to any language that gets compiled into Web Assembly.
- gear54rus 8y ago> general purpose VM With unblockable banners, uninspectable unmodifiable code and other garbage. The current state of affairs is just perfect balance, webassembly can seriously hurt the user if it ever gets good-enough direct access to DOM.
- pjmlp 8y agoI fail to see how that is any different from minified JS.
- gear54rus 8y agoChrome provides excellent facilities for unminifying and debugging scripts, it's not even close to bytecode
- Klathmon 8y agoAnd WASM has a human readable text form that is just as readable as unminified js.
- gear54rus 8y agoHow so? Its code will still be closer to ASM instructions, minifed js is closer to decompiled Jar (haven't personally seen one, maybe I'm wrong here). It doesn't even mangle every identifier so every now and then you get set back on track of what the code does by the occasional Array#filter or something
- pjmlp 8y agoThere is this myth that only bytecodes are fully reversible to source code and ASM is safe. It is only a matter of having the right tools at hand. https://www.hopperapp.com/ https://www.hopperapp.com/ https://www.hex-rays.com/products/ida/ https://www.hex-rays.com/products/ida/ Code might not be 1:1 mappable to original source code, but it is in any case reversible to an higher level description, specially nowadays that re-writable code is no longer allowed due to security exploits. https://webassembly.studio/ https://webassembly.studio/
- TomMarius 8y agoWASM has (will have) exactly the same capabilities as JS (including asm.js that already has DOM access) has.
- gear54rus 8y agowell, cue unblockable banners then...
- Aardwolf 8y ago> native application My issue with those is, they are less sandboxed than JS is. Why would I want to put one-off things all over my disk and system? While I'm willing to install native applications from the package manager for big things I really need, I do not want to do so for simple one-off interactive things, so I really like that I can just do such things in the browser without installing them. Things like simple games, mathematical demonstrations, ... I think the value of sandboxed self contained interactive apps that can do graphics, input, sound, that run from a link, is tremendous to humanity. Of course on the opposite side, one problem is the usage of so much JS for simple articles of text and photos. Those would be more pleasant to read if they were just text and photos and nothing more.
- pjmlp 8y agoEver heard of UWP, iOS, Android, snap, Flatpak, QubeOS ....?
- Aardwolf 8y agoOn Android/iOS you install apps, which is the same as what I meant above by installing. QubeOS: heard of it. It's multiple isolated linuxes together essentially. Do you really think one wants to install software on QubeOS to view a mathematical demonstration or a simple game from the web? The issue is simply the effort of installing vs just opening link and viewing it. I don't know UWP, snap or Flatpak. Do they allow you to open a link and run something interactive immediately without installation? If so, great. We need something that allows you to open a link and have something interesting running immediately. Again, it's sad that this same interactivity is also invading simple textual articles that should be just simple plain text, but that is a problem of those articles, not of the existance of JS.
- pjmlp 8y agoYou don't necessarily need to install apps on modern Android, ever heard of instant apps?
- 8y ago
- pjc50 8y ago> native applications That would require deploying on at least five wildly incompatible native platforms, and break when they change architecture. The web is not so much an integration layer as the no-mans-land of the platform lockin wars; it's a space that doesn't "belong" to any one platform owner, which is both its great benefit and great disadvantage.
- pjmlp 8y agoThat problem has already been solved. My C++, JavaScript, Python, Java, .NET code doesn't care which OS it runs on, and the parts that do are very small modules.
- pjc50 8y agoSo none of it has any GUI?
- adrianN 8y agoCross-platform GUI toolkits were a thing before the HTML-everything craze.
- pjc50 8y agoYes, and they are always slightly second-class citizens, although QT comes closest. Using a cross-platform toolkit is inevitably not quite the same as a native app on every platform - because you're not targeting the native API but a limited subset via a shim layer. If it was easy, we'd be seeing a lot more apps available with Windows/Android/Linux/iOS native ports.