WebAssembly?


#1

I noticed that Unity3d has experimental support for webassembly export. So I looked it up. Webassembly seems really nice for the future of web.

Does this mean that flash will export to webassembly in a near future? What will webassembly mean for javascript developers?

http://webassembly.org/

Did you see this @tbo?


#2

Unlikely. WebAssembly is a format compiled from lower level languages with stricter memory management. Not that it couldn’t be done, but you’d have to make compromises and I don’t see that happening for flash. For example, check out https://github.com/AssemblyScript/assemblyscript

I don’t think this means too much for JavaScript developers other than the fact we might start seeing client side libraries built from other languages popping up. Your normal, everyday web developer is unlikely to completely change programming languages for a potential boost in performance when bottlenecks are still largely in rendering - something libraries like react have done a pretty successful job at mitigating.

I’m not even sure we’re at a point yet where wasm code can access the DOM yet which is also pretty limiting (though ultimately that is expected to work).

It could potentially mean that to be a web developer, you don’t need to know JavaScript. Instead you’d just need to know a language that can compile to wasm and be familiar with some DOM APIs. It’s still too early for that, but something I could see happening down the road.


#3

I’ve actually never had any interest in web so I can’t say much about it. I’ve only really been “serious” with as3 to export for AIR for Android, iOS, and this thing called black berry. AIR really is still great, it’s so fast and stable for mobile, but sadly Adobe doesnt seem to want to do much w it.

I would have to agree it’s unlikely flash (as3) will ever be used for any kind of web export again, but honestly I have no clue, I’m sure people will call for it on the adobe forums (then they will start a 100 page long complain fest…ugg)

I still use AIR tho! Hey guys, if I’m not making any money w apps, I can’t lose any money right? Investment 101


#4

@senocular
You’re probably right. I was thinking too small and saw a web era similar to that of the flash player with lots of funny games. (It might still be). Reading about webassembly, it seems to change the web in a fundamental way. Things will interact in such a way they are difficult to predict. If anything, web seems to become a more busy place. So that would probably not affect javascript developers much?

@tbo
If I interpret webassembly correctly, a webpage could very well be a mobile application? Just not an AIR app. Everything a mobile device would need would be a web browser. That is in a way a logical future.


#5

I don’t see it that way. It’s basically just a binary of compiled code. It’s a JS file that wasn’t written in JS and has a fast path to execution. It’s like a code-only swf meets emscripten. Effectively, it’s nothing new. But it’s being supported by major browser vendors, so that’s kinda cool. And being pre-compiled like a swf has performance benefits beyond what we’ve seen before. In the end it’s still just code run in the browser through the VM.


#6

Hmmm, it seems you are correct. What an utter disapiontment. I can’t even tell if webassembly is faster than swf? The binary part seems to be a tree compression, without the media.

I’m a bit upset now. :frowning:


#7

@linusj What did you picture it being able to do? Sounds exciting, whatever that was!


#8

Haha, I saw before me the beginning of something like Skynet. I thought it was a technological leap.

In a ever evolving environment of artificial intelligence, you would need computers to behave like an agent with swappable content.

For example 4g speed is not necessary for web consumers. But the speed is necessary for drones and robotic control. I have a neighbour that works with robotic farming equipment, and that seems to be working already in a futuristic sense. So this would be the next step. Self driving cars for example could need to update their software on the fly. Anything and everything would just need a web-browser that could handle native binary code, update-able on the fly, evolving so fast you don’t have time wait for an application to download and install. Like a drop-in-application environment.


#9

Teslas do OTA updates… The future is now!

What you described also reminded me of this talk… apparently a video I thought would be easy to find but is not…

Ok, I can’t find it. But some guy was talking about the future of JS and the VM and how this sandboxed environment is reaching native speeds, and what if that became something to core to the OS and all OS code ran through the VM and what that could mean. I’ll keep looking but I don’t know if I’ll find it :trout:


#10

Ok, I found it (I think). Apparently it wasn’t hard to find, I just didnt recognize it right away :deathstar:

https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript


#11

Wow, that talk was really interesting. In the year 2035 I will be very disappointed I did not buy stocks in BareMetal in december 2017. (not sure they have stocks to sell?)

I don’t think that guy is kidding.

I’m really impressed how much you know senocular!


#12

I don’t know a lot about investing, so I’m doing the responsible thing and dumping all my money in to canadian cannabis stocks on the TSXV.


#13

They grow industrial hemp not far from where I live. I think it is a total of 300 hectars/yr total in sweden? so it is fairly unusual. The plants I’ve seen they use in a strange way. Only three meters on the edge of a large wheat field. Like an outline. I think they use it as a protection from weed?(no pun intended). I know there is problem with wild oat. You dont need pesticid or other for hemp since the growth is so tight. If I knew anything about stock or had any money, I would probably buy stocks into that (in canada).

Hops for beer seems to have trippled in price and demand. So probably stocks for hops too. South Africa has some sort of monopoly?

Edit: Oh I actually have an image of the suspected swedish weed protection. Its industrial hemp. Just a few meters behind, there is a large field of precious wheat.


#14

Interesting, it does sound like they use it as a border. I don’t know a ton about hemp but I do believe it’s still illegal in the US despite it having little to no THC so that’s kind of hilarious.

Imagine being in jail next to a murderer. What are you in for? " I grew and made rope, like sooo much rope"

What’s happening in Canada now is that medicinal cannabis has been federally legal (unlike the us). Large companies have been formed already, and now, country wide recreational was just announced in November (should be effective summer 2018). I was advised to buy stock in a specific licensed grower last year. I did not and they are up 2100% since then so I feel pretty stupid. I’m also going to feel pretty stupid if I lose money but I am about to get a little serious about it. There are many companies with massive potential right now. Some of them for sure are the next Budweiser or bigger, just have to choose correctly. Or you can just throw money at BTC, it’s only up like 10000000%. Haha

And let’s be honest, we have a guy on the inside here, not just a Canadian but THEcanadian so, u know. Where in the Canada are u @TheCanadian?


#15

I think this’ll have a chance to take off when people don’t balk at shipping huge chunks of different languages’ standard libraries on a page load. (This might not be super far off given how receptive people are to huge GIFs.) Java and Flash shipped their stdlibs and runtimes as part of their browser plugins, and JS (+ TypeScript + CoffeeScript) has those things shipped with the browser.

If you’re WASMing Ruby or Python apps, you’re going to have fun either shipping fat libraries or getting really fancy with your static analysis. For more static languages, you’re going to have fun balancing specialization code size with performance, plus trade off between having multiple pages / apps share a cached runtime/stdlib vs. individual ones with smaller, less general footprints.


In general, I enjoy seeing what new intermediate languages can accomplish. They’re interesting because not a lot of people need to look at them, but advances in expressiveness or reach can have a lot of impact.


#16

Caching can help mitigate that overhead. Load std libs on first use and that’s it - like commonly used CDNs for JS libs or what Flash was trying to do with the flex framework and their client side caching mechanism (which I’ve already forgotten the details of, though it was basically just an Adobe-controlled version of a browser cache for internal libs).

And in the near future, bandwidth won’t even be a concern for anyone anymore, right? :stuck_out_tongue: