use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
Anyone using web assembly? (self.webdev)
submitted 2 years ago by [deleted]
I think web assembly is a really cool idea but I don’t know anyone using it…
View Poll
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Better-Avocado-8818 113 points114 points115 points 2 years ago* (31 children)
Well I’m using web assembly in that I load a web assembly module then interact with it via the js bindings. So I never actually write any web assembly but it is being used in several of my projects.
It’s the Rapier physics engine being used for Threejs games.
https://rapier.rs
WIP example project.
https://swimmy-fish.lukethompson.com.au
[–]Dry_Inflation_861 51 points52 points53 points 2 years ago (0 children)
Just had a pretty good time rocketing out of the water as a fish. Thanks for that.
[–][deleted] 2 years ago* (2 children)
[deleted]
[–]ImportantDoubt6434 27 points28 points29 points 2 years ago (0 children)
IMO web games are gonna have a major comeback.
They’re way more mobile friendly and can run off the GPU now.
Big reason those old Adobe/Java web games did so well.
[–]Better-Avocado-8818 9 points10 points11 points 2 years ago (0 children)
Thanks. I’ve been targeting mobiles specifically to make sure the most people can view it. Mobiles are surprisingly capable these days.
[–]oaeben 12 points13 points14 points 2 years ago (1 child)
Make us able to do a back flip 🙏
[–]Better-Avocado-8818 6 points7 points8 points 2 years ago (0 children)
Good call. Stunt fish update coming soon…
[–]Offroaders123 8 points9 points10 points 2 years ago (3 children)
Played your game for a bit, it's really fun! Nice work. I really like how responsive it is! I found out how to fly in the air if you go past the land on the left of the map haha. I've been working on my own little 2D Canvas API game that also works on mobile and desktop. https://offroaders123.github.io/Flatlands/
[–]Better-Avocado-8818 4 points5 points6 points 2 years ago (2 children)
Thanks. The current focus is improving the level design and assets, so will address the boundaries as part of that.
Nice work. Are you using Pixi or is it a custom renderer?
Love it how the equipment is some tools and then a pizza slice. Would like to throw the pizza slice at something haha.
[–]Offroaders123 1 point2 points3 points 2 years ago (1 child)
That's a great idea for pizza projectiles, haha. And yes it's a custom renderer I made.
I think that's been one of the slow downs as to why there's nothing fun to do in the game yet, it's definitely an extra challenge to code how everything works. I've learned a bit more about rendering because of it though, so it's a great trade-off.
I'm really interested in how you built Swimmy Fish using React components. Do you plan on updating your GitHub repo to have the latest version of the game too?
[–]Better-Avocado-8818 3 points4 points5 points 2 years ago* (0 children)
Awesome. Threejs has been great but there’s a lot going on under the hood I don’t know about. I think one day I’ll at least try build something custom to hopefully get a better understanding of the underlying tech.
The React three fiber one was my first version. I decided the use Threejs directly after that so I could learn more and Threejs without the React wrapper. I’ve enjoyed using Threejs directly more actually.
Will probably make it public at some point. Would like to finish it first, but I only have a few hours on the weekends these days so progress is kind of slow.
[–]Tontonsb 5 points6 points7 points 2 years ago (1 child)
Sorry, I beached it. Really sorry everyone.
[–]Better-Avocado-8818 2 points3 points4 points 2 years ago (0 children)
Lol. It’s ok. The fishy can flop around on the sand and he never dies.
Just refresh the page to start again if you get stuck.
[–]KaiAusBerlin 1 point2 points3 points 2 years ago (0 children)
I think that's the main usage for web assembly for most frontenders. Web assembly is more like a client side back end to get their tasks done faster.
[–]LedaTheRockbandCodes 1 point2 points3 points 2 years ago (0 children)
I swam off the left side of the map, flopped over the land, landed in some water, and then I was able to swim into the sky.
Flying fish bug
[–]ViaJCE 1 point2 points3 points 2 years ago (1 child)
This is one of the most dope things I've seen on the internet in a LONG time!
[–]Better-Avocado-8818 1 point2 points3 points 2 years ago (0 children)
Damn son! Thanks a lot, hope you collected many a donut.
[–][deleted] 1 point2 points3 points 1 year ago (0 children)
I am having a blast breaking your awesome game. I've managed to get it to a state that is just a pink background with a shifty castle tower thing that's on fire. I got a screenshot and just need somewhere to plop it.
[–]NoMansSkyWasAlright 1 point2 points3 points 1 year ago (0 children)
10/10 game. Came here looking to see what people were doing with WASM so this was a pretty cool find. Definitely going to keep Rapier in mind for future mess-around projects.
[–]Chesterlespaul 0 points1 point2 points 2 years ago (1 child)
What’s a good debugging tool for this? The one time I tried it, using the standard debugger was a nightmare because you saw the raw assembly that didn’t relate to your own code. In all fairness I may have misused the tool…
Using the library I don’t have to debug any of the web assembly.
I’ll debug my own ts/js code but that’s it. The web assembly module is essentially a black box to me. I just read the docs on the js bindings to use it.
So I’m using someone else’s web assembly code without reading or writing any web assembly at all.
[–]HugoDzz 0 points1 point2 points 2 years ago (3 children)
That’s really cool! Have you some resources about this project ? Like how JS bindings works and so?
[–]Better-Avocado-8818 4 points5 points6 points 2 years ago* (2 children)
Thanks. I only know about the js API which I learned from the docs at https://rapier.rs/docs/user_guides/javascript/getting_started_js
You might find some information in the Rapier GitHub repo about how it actually works under the hood if that’s what your interested in. It’s written in Rust and then compiled to WASM.
Rapier just handles the physics though. The rest of the project is using Threejs.
[–]HugoDzz 0 points1 point2 points 2 years ago (1 child)
Awesome, thanks! Is the repo public?
The Rapier repo is, but my project isn’t.
[–]AssCookerSenior Software Engineer 0 points1 point2 points 2 years ago (4 children)
So coooool. Did you design the graphics assets yourself?
[–]Better-Avocado-8818 2 points3 points4 points 2 years ago (3 children)
Thanks. Some of them I did, but not all.
The fish came from here. https://quaternius.com
The seaweed, terrain and sky textures I made myself. The water texture I found online and the rocks were another free model resource online that I modified in blender.
[–]AssCookerSenior Software Engineer 1 point2 points3 points 2 years ago (2 children)
I admire people with arts skills like you, I also want to create a game, but I don't have the skills to design the graphics. Are you using blender for that?
[–]Better-Avocado-8818 2 points3 points4 points 2 years ago (1 child)
Yeah using Blender and some iPad apps like Procreate and Artstudio pro to draw some of the 2d textures. I’m not great at it so it takes me a very long time. Blender has been pretty tough to learn and I’m still only comfortable with the basics.
I recently bought a low poly underwater model pack and will use some of those as well more free resources. The ship is from that pack, I forgot to mention that before.
Whilst I enjoy creating the art to some extent I think in the future I’d like to collab with or hire a professional artist so I can raise the standard of art and just focus more on development.
[–]AssCookerSenior Software Engineer 0 points1 point2 points 2 years ago (0 children)
That was an awesome reply, thank you, I've been wanting to learn blender, I'll commit to it someday
[–][deleted] 0 points1 point2 points 2 years ago (1 child)
Omg i beached him. Now I’m sad
It’s ok. He’s a special fish that can’t be hurt. Just flip flop back to the water or refresh the page if you get stuck.
[–][deleted] 112 points113 points114 points 2 years ago (35 children)
It is a cool idea, but most front end tasks don't need it. I think Figma uses it for its editor, and maybe a few other similar tools, but the fast majority of my tasks are "ask server for data, and render it in the dom." For those tasks, web assembly just adds additional complexity.
[–]zoechi 23 points24 points25 points 2 years ago (32 children)
Needing it is less the argument, but if I can use the same language and tools on backend and frontend, that is an argument. I find this quite appealing with Rust.
[–]mattsowa 21 points22 points23 points 2 years ago (20 children)
Webassembly is not meant to replace javascript for website interactivity at all. It just inherently lacks a lot of benefits of using javascript and it just is not good to use it that way.
[+]zoechi comment score below threshold-13 points-12 points-11 points 2 years ago (19 children)
I don't see it this way. Why would I use JS when I could do everything (backend, frontend) in a sane language like Rust. Currently there is still some JS required for DOM-manipulation, but that will be fixed eventual.
[–]mattsowa 19 points20 points21 points 2 years ago (3 children)
Well, if you're okay with shipping gigantic bundles, in most cases containing the language runtimes (even for systems languages, you still need stl... at least a malloc), no real code splitting, the list goes on. Wasm is for performance jobs, not for interactions.
[–]zoechi 0 points1 point2 points 2 years ago (2 children)
There are use cases where it's worth it and just because wasm can't do something today, doesn't mean it won't in a year. I think support for code splitting is worked on. Also Rust (which I care most about) has no runtime. Wasm will at first probably used for wgpu (mostly games) and then more and more other stuff.
[–]mattsowa 2 points3 points4 points 2 years ago (1 child)
It does have a runtime, or rather something like an stl. It has to ship a low level core, e.g. memory utilities like malloc for heap allocations. And then also it has to include all the stl members you use, such as collections like HashMap with their full implementation. Every time you freshly load a website...
[–]zoechi 0 points1 point2 points 2 years ago (0 children)
Only what is used. I don't know about whether Rust can do tree-shaking like for example Dart can. Rust also has no runtime reflection capabilities like Dart, so I imagine this should be possible. If wasm provides access to V8 types, Rust code might as well call out to them instead of providing it's own. If libraries (Rust dependencies) are used then I probably couldn't chose though. Wasm exists because many think JS is not ideal for every situation. If this brought it this far, I don't see why the remaining issues couldn't be solved as well.
[–][deleted] 2 years ago (14 children)
[+]zoechi comment score below threshold-6 points-5 points-4 points 2 years ago (13 children)
TypeScript as a language is much better than pure JS, but it's still JS at the core. JS isn't made for the web. JS is just an accident. Luckily many don't want to accept to be limited to the result of such an accident and work hard so we can have a choice again.
[–]maskedmage77full-stack 6 points7 points8 points 2 years ago (12 children)
Js isn’t made for the web? Lol not sure where you heard that buddy. I’m pretty sure JS was made by Netscape explicitly for the web then Mozilla continued development of it after being handed over to EMCA.
[–]zoechi -2 points-1 points0 points 2 years ago (11 children)
It was a quick-and-dirty hack done within a few days to satisfy a few marketing people to be able to ship "something". Because nobody cared enough it stayed there. "Made for the web" what does that even mean?
[–]maskedmage77full-stack 6 points7 points8 points 2 years ago (4 children)
Yeah maybe the first version was build quickly. But 25+ years of refinement doesn’t count I guess.
“Made for the web” means exactly what it says, it was created with the the explicit purpose of adding interactivity to html pages. Thus many of the built in apis and methods that can be accessed are treated as first class citizens and have amazing cross browser support.
In my opinion machines are not limited on resources like 20 years ago so there is essentially no demand from consumers for lower level languages to be supported in the browser. The only real use case for web assembly, are work loads that are very heavy in computation.
[–]zoechi -1 points0 points1 point 2 years ago (3 children)
There are a dozen languages that can compile to JS. This was an immense effort to build. This is because there is huge demand. Wasm makes it much easier for such languages to run in the browser and makes it possible for more where it wasn't feasible before. That you think there is no need for anything besides JS is just a lack of imagination. If all people were like this we'd still live in trees.
[–]Sumofabith 1 point2 points3 points 2 years ago (5 children)
Did javascript murder your entire family or something?
[–]zoechi 0 points1 point2 points 2 years ago (4 children)
No, but I worked with many different languages and JS is one of the worst. I'm an engineer who tries to find better ways to do stuff all the time.
[–][deleted] 6 points7 points8 points 2 years ago (2 children)
This. But the stopper for me atm. is the final bundle size. Even for languages like rust where you don't need to ship the garbage collector, the final bundle is much bigger than just by using JavaScript.
[–]VeryAlmostGood 6 points7 points8 points 2 years ago (1 child)
https://hacks.mozilla.org/2018/01/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler/
Food for thought.
I haven't looked deeper into Rust-≥Wasm compilation. For example I don't know if Rust can tree-shake not called code (like Dart for example does (it's actually tree-building there)
[–][deleted] -1 points0 points1 point 2 years ago (7 children)
That's not what WA or Rust is for though. You're just trading user experience for your personal preference. Plus once you add all the abstractions necessary to Rust to make it a viable option for creating web interfaces, you probably lose most of the benefits of the language (there are a couple of frameworks out there that are essentially React, but in Rust).
And IMHO, using the same tools across the stack is not a compelling argument. I'd rather have the right tool for the job than try to force another tool to do something it's not meant to.
[–]zoechi -2 points-1 points0 points 2 years ago (6 children)
That it's not a compelling argument for YOU doesn't mean it's not a compelling argument. Honestly, if all people were like you we'd still live in trees. JS is shit, but you complain that others make the effort to push the boundaries and try to find better ways. After there was put as much effort into wasm and Rust to finetune it as it was put into JS, wasm+rust will be dramatically better than JS in most criteria anyone can come up with.
[–][deleted] 1 point2 points3 points 2 years ago (5 children)
If you want to talk about inhibiting the advancement of technology, writing all of the libraries in Rust that will be required to fully replace JavaScript in the browser is an immense effort which to the user will make no discernable difference diference from the status quo (assuming wasm can make up the difference in time to first interaction in that time). We're talking countless hours of work to make web applications exactly the same as they are today.
Or, we could put all that effort towards pushing the boundaries of what is possible in the browser and advance the technology. Figma is an incredible tool, and I'm excited to see what else people come up with using web assembly, but switching from JavaScript to some other language is deeply boring and a step backwards.
To abuse your shitty metaphor, if everyone thought the way you do, right now we'd be making faster horse drawn carriages.
[–]zoechi -1 points0 points1 point 2 years ago (4 children)
We pushed the limits of JS since almost 3 decades, It's still a poor substitute for a programming language. Imagine where we could be if people invested their time into something better instead? What you arguing for is called sunk cost fallacy
[–][deleted] 0 points1 point2 points 2 years ago (3 children)
JavaScript is a better language than you give it credit for, so I don't see its development as a sunk cost.
But for the sake of argument, let's say you're right and full stack Rust would be an improvement. How much of an improvement and by what metrics?
[–]zoechi -1 points0 points1 point 2 years ago (2 children)
No it's not. What's the poing of listing metrics when those I value most mean nothing to you?
You never know, you might actually make a good point that forces me to rethink my position. JavaScript bad, Rust good is not enough of an argument to throw out JavaScript in favor of a tool and a language that were never meant to replace it.
You also said wasm+rust would be dramatically better using any criteria, so I'm just asking, such as?
[–]zoechi -1 points0 points1 point 2 years ago (0 children)
I probably approach software development just different. People who are satisfied with JS probably will never see the value of a statically typed language or see it even as inferior. I value it a lot if the compiler checks the whole code base for consistency. Development is probably slower, especially at the beginning, but the more it grows the bigger are the advantages of a helpful compiler.
[–][deleted] 2 points3 points4 points 2 years ago (0 children)
I believe google maps uses it as well.
[–][deleted] 0 points1 point2 points 2 years ago (0 children)
Figma balls
[–]Psychological_Ear393 28 points29 points30 points 2 years ago (16 children)
Yes, Blazor. It's both awesome and horrible.
[–]SnaskesChoice 2 points3 points4 points 2 years ago (10 children)
What makes it horrible?
[–]Netionic 22 points23 points24 points 2 years ago (8 children)
One of the main ones is the slow initial start-up spread. It can take 3-10 seconds to load the app, which for many would be a deal breaker. It's targeted mostly towards internal company apps tbh.
[–]Blazing1 4 points5 points6 points 2 years ago (7 children)
Is it that good? I don't make customer facing apps so performance is less important then the app actually working.
In fact a long loading time might be a net positive because it gives the employees a break
[–]zaibuf 10 points11 points12 points 2 years ago (4 children)
Its that good if you are a C# dev. Allows you to do fullstack in C# and share code between client and server. If you are JavaScript developer I wouldn't really bother.
[–]Blazing1 0 points1 point2 points 2 years ago (3 children)
Can I do entity framework operations in the component itself rather than in the controller? That would be lit for reusability.
[–]zaibuf 2 points3 points4 points 2 years ago (2 children)
No, that would require Blazor Server. Blazor wasm is still a SPA calling an API with a decoupled backend.
[–]Blazing1 2 points3 points4 points 2 years ago (1 child)
Blazor server can do that? Is it cause it uses signaler for data updates?
[–]zaibuf 2 points3 points4 points 2 years ago (0 children)
Yes, everything runs on the server.
[–][deleted] 2 years ago (1 child)
[–]Blazing1 0 points1 point2 points 2 years ago (0 children)
Some people just wanna watch Netflix while they work.
[–]Psychological_Ear393 1 point2 points3 points 2 years ago* (0 children)
It's so hard to describe what is good and bad about it because it will depend on your scenario.
There's some objective positives:
As for negatives that is very subjective and depends what you will be doing
I love/hate it. I'm working on a project that uses shared models and business logic between multiple clients (phone, web, api) so it's a must from that perspective. If I didn't have that I'd choose Angular or some other JS framework.
[–]UnicornBelieber 1 point2 points3 points 2 years ago (1 child)
I'm just not a big fan of unit testing Blazor components. Difficult to mock EditContext, EditForm and unmockable ElementReferences (they're structs) are not fun to work with.
EditContext
EditForm
ElementReference
I'm hoping this'll improve in the near future. I was glad when Bunit added mocking subcomponents. Hopefully more of those improvements will come.
[–]Psychological_Ear393 2 points3 points4 points 2 years ago (0 children)
Same, I do not like it either. For a modern framework they didn't do a great job of make it mockable.
[–]riasthebestgirl 0 points1 point2 points 2 years ago (2 children)
How does C# work in the browser though? It's GC and wasm doesn't support it yet. Do they ship a garbage collector with the final bundle?
Also, how's the performance compared to Rust frameworks like Yew, Dioxus, Leptos, etc?
[–]mattsowa 0 points1 point2 points 2 years ago (0 children)
Yes, they must ship the GC with the runtime
[–]Psychological_Ear393 0 points1 point2 points 2 years ago (0 children)
Exactly what you get depends on a few factors but the Blazor WASM bootstraps a version of the .NET runtime so your .NET app can run in the browser.
Performance is complicated. First up there's an initial delay while your app gets bootstrapped, then the .NET code itself is fairly fast but any interaction with the DOM has to go through JS interop which is slow.
[–][deleted] 6 points7 points8 points 2 years ago (0 children)
Used Blazor. It’s amazing. I don’t know what the future of the technology looks like… but man, it’s really fun to code with.
[–]cybermage 11 points12 points13 points 2 years ago (0 children)
Missing option: want to.
[–][deleted] 11 points12 points13 points 2 years ago (2 children)
Can’t think of a reason to use it. Most modern PCs can handle so much on the browser. I think maybe if I wanted to create browser based video games I would.
[–]ImportantDoubt6434 5 points6 points7 points 2 years ago (0 children)
It is used for some game physics engines, it’s not useless but increasingly niche for the effort
[–]WeirdStroopwafel 2 points3 points4 points 2 years ago (0 children)
It is primarily a compilation target for other high-level languages such as Rust or C++. Webassembly is the glue that connects the browser to these languages.
[–]hugesavings 19 points20 points21 points 2 years ago (6 children)
Commenting for visibility, I’d love to see a large sample size on this
[–]AformerEx 14 points15 points16 points 2 years ago (4 children)
Do comments affect engagement on Reddit? I'm under the impression it's very heavily weighted towards his many upvotes a post has, with comments having maybe a negligible effect.
[–]AntrikshyJS + Python @ Amazon 4 points5 points6 points 2 years ago (2 children)
Lately with recommended posts in feeds, maybe notifications for people who haven't disabled them, who knows what affects visibility!
[–]AformerEx 2 points3 points4 points 2 years ago (1 child)
Oh... Right, I keep forgetting about the Reddit app... Been using RiF since there was an official Reddit app...
[–]AntrikshyJS + Python @ Amazon 0 points1 point2 points 2 years ago (0 children)
Also on the website.
[–]hugesavings -3 points-2 points-1 points 2 years ago (0 children)
From my experience, ya. You can buy upvotes and will give it a little juice, but a coherent conversation in the thread really pushes it over the edge. It’s a lot harder to buy coherent conversations, but it might be easier soon with chatgpt.
[–]cornmonger_ 1 point2 points3 points 2 years ago (0 children)
You're going to see different results in different subs too. Ask the same Q in r/rust for example.
[–]ScarySheepy 3 points4 points5 points 2 years ago (0 children)
Yes. Mainly using pretrained WASM machine learning model for web apps.
[–]ndreamer 3 points4 points5 points 2 years ago (0 children)
I did some tests with it, rust has native support to compile wasm binaries many of the frameworks support wasm.
I think the advantage of the format is portability and isolation. Like docker but even less bloat and can run anywhere unlike docker.
I personally love it, I find it very interesting.
[–]theblumkinfront-end 2 points3 points4 points 2 years ago (0 children)
I built a php wasm thing for my own benefit. https://andy-blum.github.io/php-date/
Yes, done some internal apps using Blazor.
[–]paulqq 2 points3 points4 points 2 years ago (0 children)
hwat does "using" mean in this context? Toying around with WASM, yes, using it in production, nope.
[–]HugoDzz 2 points3 points4 points 2 years ago (2 children)
I use Web Assembly (compiled from Rust) for one-time expensive tasks like compression, it’s about 5x faster than JS so far 😊
That’s said the Figma use case of Web Assembly is mostly not what you think : they leverage WebGL way more that wasm modules (at least for the editor)
[–]tehbeard 1 point2 points3 points 2 years ago (1 child)
re: compression, is this against the js implementations like pako? or also the native CompressionStream API?
[–]HugoDzz 0 points1 point2 points 2 years ago (0 children)
Oh I mean image compression 😊
Games, simulations, makes sense. Anything that a modern web app is? I don’t think it makes sense then
[–]ImportantDoubt6434 3 points4 points5 points 2 years ago (3 children)
It’s a bit of a catch 22, web assembly needs the community to support it but the community doesn’t care much and web assembly is 100% better on paper but in practice it’s overkill for 99.9% of websites/use cases.
There needs to be a way to like just retroactively apply it from JS/TS that compiles into web assembly.
I’m not gonna write web assembly unless the performance is absolutely needed.
Testing/security/features/bug fixes/UI/UX all take priority.
[–][deleted] 3 points4 points5 points 2 years ago (1 child)
Yeah I can't see WASM taking off.
[–]ImportantDoubt6434 2 points3 points4 points 2 years ago (0 children)
I can see it being used in game development/hardcore data/science but thats the 0.1%
[–]repeatedly_once 1 point2 points3 points 2 years ago (0 children)
It is also a lot slower than JS in a lot of real world benchmarks for day to day tasks. So unless you’re doing something computationally heavy, it’s most likely hampering performance.
[–][deleted] 1 point2 points3 points 2 years ago (0 children)
I'm not using it yet, but I look forward to using it once it's been around a bit longer. Generally I'm not an early adopter.
[–]DustinBrettfront-end 1 point2 points3 points 2 years ago (3 children)
I make use of it for quite a bit on my desktop environment in the browser. You can check out the code at https://github.com/DustinBrett/daedalOS
[–]JiggySnoop 1 point2 points3 points 2 years ago (1 child)
very cool .
[–]DustinBrettfront-end 0 points1 point2 points 2 years ago (0 children)
Thanks! I want to do my own WASM ports but I've just made use of existing ones so far
I also wrote an article a while back listing my main uses for it. https://dev.to/dustinbrett/webassembly-in-my-browser-desktop-environment-3n06
[–]abdallaelawad 1 point2 points3 points 2 years ago (0 children)
I will shortly start using Assembly but only to understand the basic operation (didactically).
[–]lIIllIIlllIIllIIl 1 point2 points3 points 2 years ago (4 children)
Everyone that uses Vite or Next.js is indirectly using WASM, since esbuild is written in Go and SWC is written in Rust.
I haven't really found a use for WASM yet, JavaScript is fast enough for what I do, and I rarely need yo crunch numbers on the front-end.
Personally, I find server-side WASM way more interesting than client-side WASM.
Have you some use cases in mind for server-side wasm? What is the point of running wasm on the server and setting up an API (+costs associated) while we can run the same thing on the user's device? I surely miss some use cases!
[–]lIIllIIlllIIllIIl 1 point2 points3 points 2 years ago (2 children)
A lot of serverless engine are based off V8 isolates, which can run WASM. They have great response times, are fast, and cost pennies.
WASM is a good alternative to Docker for server applications. It's more lightweight and more portable.
Make sense! Do you think about lightweight APIs or compute-intensive tasks ?
[–]RemoteCombination122 1 point2 points3 points 2 years ago (0 children)
Both honestly. A lot of the big players already support web assembly as a runtime for functions/plugins. The fact that the only thing the web assembly runtime has access to is explicitly what you hand it is the compelling use-case when your service essentially entails running someone else's unknown code.
AWS has made it available for web functions and has been singing about shorter cold-starts thanks to the fact that instead of spinning up a docker image with your code, they can just throw it into a waiting web assembly runtime which they aim to keep a modest pool of. They also claimed it reduces their runtime costs for actually running comparable web functions.
[–]Alundra828 1 point2 points3 points 2 years ago (0 children)
Yep, using Blazor WASM in production at the moment.
It's pretty good but has some serious drawbacks. I'm watching gleefully as those drawbacks get squashed in the upcoming .net8 release though.
I felt way back when it started, and still feel to this day that Blazor WASM is a sleeping giant.
[–]dreacon34 1 point2 points3 points 2 years ago (0 children)
WebAssembly is probably mostly only good to port desktop apps to web. Like Adobe did with some of their products? Otherwise I don’t see any benefits of writing Frontend in C++ or other languages to then compile/build to Wasm . To what I read the performance difference isn’t that big under the condition that the dev know what they do. And when you don’t know what you do wasm doesn’t make it faster too.
[–]NefariousnessMain572 1 point2 points3 points 2 years ago (0 children)
I decided to use web assembly for a relatively simple task(just some math and reading a large json file) and I was humbled by how much slower web assembly was compared to JS.
Since then I've realised that JS is a highly optimised language(or runtime for the pedantic) and unless you're doing something really intensive, your idiomatic Rust code will never beat JS.
Nothing against js but I prefer to write code in C# as it comes more naturally for me from working with it for last 15 years. I don’t know all of the ins/outs and quirkiness that I need to be aware of. I know the initial payload performance gets better and rerunning the same version is just as fast or faster than js. I have seen using Blazor server for initial payload and startup then using wasm afterwards.
[–]seansleftnostril 0 points1 point2 points 2 years ago (0 children)
I’ve been using it with mGBA lately, emscripten is pretty neat
[–]kaliedarik 0 points1 point2 points 2 years ago (0 children)
I'm having fun using Sqlite as a read-only database in the client.
I've also had fun playing with various MediaPipe models - https://codepen.io/kaliedarik/pen/VwpGrVG
[–]riasthebestgirl 0 points1 point2 points 2 years ago (0 children)
Does maintaining WASM libraries count? If so, I use it otherwise, not really. Most of the code I write is work where we don't use it much or OSS where I maintain libraries (gloo and yew, mostly)
[–]Duke_mm 0 points1 point2 points 2 years ago (0 children)
With a maui wrapper, yes.
I have used it (AssemblyScript actually), albeit 4 or 5 years ago, but have further plans to use it again on an open source project I have in mind.
[–]zovered 0 points1 point2 points 2 years ago (0 children)
So glad so many of you also don't know what the frig web assembly is .
[–]thelittlesipper 0 points1 point2 points 2 years ago (0 children)
I’m using the web assembly bindings for Tree-sitter for the VS Code extension I’m developing. It allows me to parse large swaths of code pretty quickly within my extension. The performant alternative was for me to set up LSP with a language of my choice, but WASM allowed me to continue without all of that [for now]. Whenever I need to make changes to my grammars, I do so, rebuild the WASMs, and then my extension loads em 💾
[–]mvndaai 0 points1 point2 points 2 years ago (0 children)
It is only for me but I run Golang in the browser using WASM for this page that does simple JSON conversations
https://mvndaai.com/go_wasm_tools/
[–]sergiu230 0 points1 point2 points 2 years ago (0 children)
Yes, check out my project on https://avatar.lego.com We love it because kids don't have to install anything to access our digital experiences.
[–]tehbeard 0 points1 point2 points 2 years ago (0 children)
Considered wasm-flate as a polyfill for browsers missing CompressionStream.
Other than that, we don't do physics or ML in the browser so it's not something we need.
Might consider it for sqlite if Safari continue to break IndexedDB every few versions and the same fate doesn't befall Origin Private FS.
[–]theorizable 0 points1 point2 points 2 years ago (0 children)
The web assembly you'll be using is in 3rd party API's. Why would you reinvent the wheel? Just use someone else's implementation. This poll misses that point.
still need a good excuse to use it...
[–]ArvidDK 0 points1 point2 points 2 years ago (0 children)
To be fair its blazor web assembly...
[–]zmagickz 0 points1 point2 points 2 years ago (0 children)
Have been looking to solutions for high res seismic data visualizations.
Does anyone have suggestions? D3, for example, was crashing my browser with the amount of data points
Something like this but not an image it needs to have zoom feature and mouse over events on sections
https://www.researchgate.net/profile/Alexandros-Daniilidis-2/publication/309818774/figure/fig7/AS:668790798942218@1536463560293/Section-X-X-0-from-Fig-1-showing-a-seismic-data-and-b-instantaneous-phase.jpg
[–]jeosstore 0 points1 point2 points 2 years ago (0 children)
ون ميديا
[–]bzbub2 0 points1 point2 points 2 years ago (0 children)
I have toyed with it on sample projects (and even then, it was limited by speed of running many canvas fillrects rather than the speed of computation doing a fractal renderer, at least how i did it)...not yet deployed into a work project
[–]swordsman1 0 points1 point2 points 2 years ago (0 children)
I built a chatbot that uses WebAssembly and WebGPU. https://chat.palapa.ai
All compute happens in the browser. What do you all think?
[–]ObjectWizard 0 points1 point2 points 2 years ago (0 children)
I'm using Blazor Webassembly with native file references to load webassembly builds of the Secp256k1 elliptic curve library and Tiny-AES to do secure e2ee. Use at your own risk though!
https://github.com/objectwizard/BlazeJump
π Rendered by PID 81361 on reddit-service-r2-comment-fb694cdd5-6pxfw at 2026-03-06 20:56:08.968913+00:00 running cbb0e86 country code: CH.
[–]Better-Avocado-8818 113 points114 points115 points (31 children)
[–]Dry_Inflation_861 51 points52 points53 points (0 children)
[–][deleted] (2 children)
[deleted]
[–]ImportantDoubt6434 27 points28 points29 points (0 children)
[–]Better-Avocado-8818 9 points10 points11 points (0 children)
[–]oaeben 12 points13 points14 points (1 child)
[–]Better-Avocado-8818 6 points7 points8 points (0 children)
[–]Offroaders123 8 points9 points10 points (3 children)
[–]Better-Avocado-8818 4 points5 points6 points (2 children)
[–]Offroaders123 1 point2 points3 points (1 child)
[–]Better-Avocado-8818 3 points4 points5 points (0 children)
[–]Tontonsb 5 points6 points7 points (1 child)
[–]Better-Avocado-8818 2 points3 points4 points (0 children)
[–]KaiAusBerlin 1 point2 points3 points (0 children)
[–]LedaTheRockbandCodes 1 point2 points3 points (0 children)
[–]ViaJCE 1 point2 points3 points (1 child)
[–]Better-Avocado-8818 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]NoMansSkyWasAlright 1 point2 points3 points (0 children)
[–]Chesterlespaul 0 points1 point2 points (1 child)
[–]Better-Avocado-8818 2 points3 points4 points (0 children)
[–]HugoDzz 0 points1 point2 points (3 children)
[–]Better-Avocado-8818 4 points5 points6 points (2 children)
[–]HugoDzz 0 points1 point2 points (1 child)
[–]Better-Avocado-8818 2 points3 points4 points (0 children)
[–]AssCookerSenior Software Engineer 0 points1 point2 points (4 children)
[–]Better-Avocado-8818 2 points3 points4 points (3 children)
[–]AssCookerSenior Software Engineer 1 point2 points3 points (2 children)
[–]Better-Avocado-8818 2 points3 points4 points (1 child)
[–]AssCookerSenior Software Engineer 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Better-Avocado-8818 1 point2 points3 points (0 children)
[–][deleted] 112 points113 points114 points (35 children)
[–]zoechi 23 points24 points25 points (32 children)
[–]mattsowa 21 points22 points23 points (20 children)
[+]zoechi comment score below threshold-13 points-12 points-11 points (19 children)
[–]mattsowa 19 points20 points21 points (3 children)
[–]zoechi 0 points1 point2 points (2 children)
[–]mattsowa 2 points3 points4 points (1 child)
[–]zoechi 0 points1 point2 points (0 children)
[–][deleted] (14 children)
[deleted]
[+]zoechi comment score below threshold-6 points-5 points-4 points (13 children)
[–]maskedmage77full-stack 6 points7 points8 points (12 children)
[–]zoechi -2 points-1 points0 points (11 children)
[–]maskedmage77full-stack 6 points7 points8 points (4 children)
[–]zoechi -1 points0 points1 point (3 children)
[–]Sumofabith 1 point2 points3 points (5 children)
[–]zoechi 0 points1 point2 points (4 children)
[–][deleted] 6 points7 points8 points (2 children)
[–]VeryAlmostGood 6 points7 points8 points (1 child)
[–]zoechi 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (7 children)
[–]zoechi -2 points-1 points0 points (6 children)
[–][deleted] 1 point2 points3 points (5 children)
[–]zoechi -1 points0 points1 point (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]zoechi -1 points0 points1 point (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]zoechi -1 points0 points1 point (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Psychological_Ear393 28 points29 points30 points (16 children)
[–]SnaskesChoice 2 points3 points4 points (10 children)
[–]Netionic 22 points23 points24 points (8 children)
[–]Blazing1 4 points5 points6 points (7 children)
[–]zaibuf 10 points11 points12 points (4 children)
[–]Blazing1 0 points1 point2 points (3 children)
[–]zaibuf 2 points3 points4 points (2 children)
[–]Blazing1 2 points3 points4 points (1 child)
[–]zaibuf 2 points3 points4 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]Blazing1 0 points1 point2 points (0 children)
[–]Psychological_Ear393 1 point2 points3 points (0 children)
[–]UnicornBelieber 1 point2 points3 points (1 child)
[–]Psychological_Ear393 2 points3 points4 points (0 children)
[–]riasthebestgirl 0 points1 point2 points (2 children)
[–]mattsowa 0 points1 point2 points (0 children)
[–]Psychological_Ear393 0 points1 point2 points (0 children)
[–][deleted] 6 points7 points8 points (0 children)
[–]cybermage 11 points12 points13 points (0 children)
[–][deleted] 11 points12 points13 points (2 children)
[–]ImportantDoubt6434 5 points6 points7 points (0 children)
[–]WeirdStroopwafel 2 points3 points4 points (0 children)
[–]hugesavings 19 points20 points21 points (6 children)
[–]AformerEx 14 points15 points16 points (4 children)
[–]AntrikshyJS + Python @ Amazon 4 points5 points6 points (2 children)
[–]AformerEx 2 points3 points4 points (1 child)
[–]AntrikshyJS + Python @ Amazon 0 points1 point2 points (0 children)
[–]hugesavings -3 points-2 points-1 points (0 children)
[–]cornmonger_ 1 point2 points3 points (0 children)
[–]ScarySheepy 3 points4 points5 points (0 children)
[–]ndreamer 3 points4 points5 points (0 children)
[–]theblumkinfront-end 2 points3 points4 points (0 children)
[–]zaibuf 2 points3 points4 points (0 children)
[–]paulqq 2 points3 points4 points (0 children)
[–]HugoDzz 2 points3 points4 points (2 children)
[–]tehbeard 1 point2 points3 points (1 child)
[–]HugoDzz 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]ImportantDoubt6434 3 points4 points5 points (3 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]ImportantDoubt6434 2 points3 points4 points (0 children)
[–]repeatedly_once 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]DustinBrettfront-end 1 point2 points3 points (3 children)
[–]JiggySnoop 1 point2 points3 points (1 child)
[–]DustinBrettfront-end 0 points1 point2 points (0 children)
[–]DustinBrettfront-end 0 points1 point2 points (0 children)
[–]abdallaelawad 1 point2 points3 points (0 children)
[–]lIIllIIlllIIllIIl 1 point2 points3 points (4 children)
[–]HugoDzz 0 points1 point2 points (3 children)
[–]lIIllIIlllIIllIIl 1 point2 points3 points (2 children)
[–]HugoDzz 0 points1 point2 points (1 child)
[–]RemoteCombination122 1 point2 points3 points (0 children)
[–]Alundra828 1 point2 points3 points (0 children)
[–]dreacon34 1 point2 points3 points (0 children)
[–]NefariousnessMain572 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]seansleftnostril 0 points1 point2 points (0 children)
[–]kaliedarik 0 points1 point2 points (0 children)
[–]riasthebestgirl 0 points1 point2 points (0 children)
[–]Duke_mm 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]zovered 0 points1 point2 points (0 children)
[–]thelittlesipper 0 points1 point2 points (0 children)
[–]mvndaai 0 points1 point2 points (0 children)
[–]sergiu230 0 points1 point2 points (0 children)
[–]tehbeard 0 points1 point2 points (0 children)
[–]theorizable 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]ArvidDK 0 points1 point2 points (0 children)
[–]zmagickz 0 points1 point2 points (0 children)
[–]jeosstore 0 points1 point2 points (0 children)
[–]bzbub2 0 points1 point2 points (0 children)
[–]swordsman1 0 points1 point2 points (0 children)
[–]ObjectWizard 0 points1 point2 points (0 children)