Why WebAssembly Can't Win

preview_player
Показать описание
Didn't expect an article about treeshaking to make me so anti WASM but here we are. Webassembly is great for specific use cases, but not for everything. In fact, it's not great for most things.

SOURCE

S/O Ph4se0n3 for the awesome edit 🙏
Рекомендации по теме
Комментарии
Автор

first video i've seen from theo where he isn't constipated in the thumbnail

peesem
Автор

It's not like JavaScript can win either, JavaScript isn't even compatible with JavaScript

LiveErrors
Автор

My understanding of WebAssembly is that it was aimed at performance critial code (gaussiasn blur, FFTs, image/audio/video processing, etc.) that you wanted to access via JavaScript (e.g. if you are displaying an audio waveform on a canvas) so you can run it locally.

It was never meant to be a JavaScript/TypeScript replacement. It was designed as a way of describing machine code within a subset of JavaScript so a JavaScript engine could compile and run that locally within the browser. It's effectively a JVM or .NET CRT defined in JavaScript.

msclrhd
Автор

It is difficult to get a man to understand something, when his salary depends on his not understanding it.

TankEnMate
Автор

"This looks like a math thing, I'm not smart enough for that, I'm a JavaScript Dev" rofl.

vectorlua
Автор

My favorite use of WASM is Ikea's kitchen builder. You can assemble a kitchen in 3D space, including cabinets, countertops, and appliances, and at the end, export the plan and a complete list of things to buy from your local warehouse. It's how I built my kitchen and was a genuinely fun experience.

TorpedoBench
Автор

It is weird to compare the success a 30 year old language that had monopoly over a full set of applications, with an amazing number of developers, with a target language that works on entirely different sets of models and is just recently receiving facilities it needs and still needing a bridge from the former language, and calling the latter a failure. Web assembly has been there for only 7 years. At this point in the life JavaScript, it didn't even have JQuery.

AmirHosseinHonardust
Автор

We actually use Blazor wasm for a pretty big UK-based application which is externally facing with a lot of success. But yeah - it didn’t have to be Blazor to do it, but it made sense with our existing skill tree

loutishduke
Автор

Wasm has been huge for me. I use rocket and dioxus in rust and the dev experience is amazing

thurston
Автор

Well, if only we could get to the DOM and other WEB browser API's directly from WASM. Then there would be no need to be dependent on Javascript. That is the missing ingredient.

Heater-v..
Автор

I would love a time where I no longer need to use JS for the frontend. I hate JS

roccociccone
Автор

WASM is held back by insisting that it being forced into the JS madness.

cherubinth
Автор

that article is kinda weak. That dude literally deleted comments and closed comments when he was getting roasted for shit take.
Wasm is used in lots of high performance applications in the web tech space. How do you think noise cancelling works? LMAO. Its making companies like Krisp, Picovoice, figma and many more possible. Web devs being outta their depth and complaining that the technology that they don't know about is not being used is the funniest shit ever. My boy theo is typescript andy and I love him for it, but you outta your depth here.

sortof
Автор

WebAssembly has not yet failed, it still is in development 😂, we are still working on things like Worlds and The Component Model, Lets not forget the recent GC proposal being merged to allow many languages to target web assembly. Its way too early for this conclusion

andy_lamax
Автор

Oh shit, another hot take from Theo that will probably age poorly.

_____case
Автор

As Unity developers, we can deploy WebGL builds that compiles to wasm all day long. In fact that's exactly what we are doing for product configurators for clients. Unity is on its way to transition to WebGPU too, that should improve performance a lot.

soverain
Автор

Many people forgetting WASM allows many languages to used in browsers, instead of just being limited to just javascript

omeszpk
Автор

I think the problem is that browsers have been dragging their feet on WASM.
WASM shipped in 2017 as an MVP. I think many developers had an expectation that since the arduous process coming up with a standard that supplanted browser specific solutions like NaCI that progress would be made quickly. Many hoped for threads, SIMD, garbage collectors and browser APIs like DOM, canvas, WebGL without going through JS. To this day only threads has shipped. 
Let's also not forget that when WASM was first entered the scene, that ES6 was still very new, Typescript quite niche and JS engines no where near as performant as today.
JS got a lot of love from both browsers and the ecosystem. WASM is held back by browsers and the ecosystem reflects that

ymi_yugy
Автор

I have a Rust WASM application. It's overall ~500-600KB. That includes Dioxus (render library in Rust) and my code. Is that size really that bad? (I'm a backend guy with no frontend knoweldge, but even in my third world country internet speeds are more than capable enough to download this amt of data within half a second or less)

VivekYadav-dsoz
Автор

It has always been an important feature of DOM, that family comes first.

miroslavhoudek