4 ms·
> Webassembly is mainly just for C and Rust That's absolutely incorrect. Go and .NET can target WASM for quite a while now. Microsoft's Blazor is specially i
by hu3 8y ago
> Webassembly is mainly just for C and Rust
That's absolutely incorrect. Go and .NET can target WASM for quite a while now.
Microsoft's Blazor is specially interesting. Their FlightFinder demo written in pure C# renders a beautiful app: https://i.imgur.com/HHFkB1E.png https://i.imgur.com/HHFkB1E.png
Code here: https://github.com/aspnet/samples/tree/master/samples/aspnetcore/blazor/FlightFinder https://github.com/aspnet/samples/tree/master/samples/aspnet...
- colordrops 8y agoRight but those languages compile in their own garbage collector. That's not the same as a VM provided garbage collector, and furthermore, the GC used in browsers also manages DOM allocations, and thus directly interfacing the DOM without JS is impossible until the VM GC is implemented.
- steveklabnik 8y agoThis is literally true, but last I checked, Go’s minimum size was about a megabyte, Blazor’s was 300k, and Rust’s is ~100 bytes. That’s what your parent means.
- bayesian_horse 8y agoThat's only a problem for more traditional websites. For applications 1MB is just not an issue. I imagine there will be some kind of CDN/cache to distribute runtimes. Maybe even a WASM package management system for browsers?
- steveklabnik 8y agoAs I said above, this is true for an app, but you wouldn’t want it for every library. That adds up very quick. A CDN may happen; there’s some details that make it tough. We’ll see. npm is already that package manager :)
- bayesian_horse 8y agoNo need to replace the millions of packages in npm. I predict there will never be a shortage of new javascript frameworks... No, npm is not THAT package manager. What I am talking about is a way for a user's Browser to download for example a Python 3.7.1 runtime (and similar packages) once, and use it on different sites and applications. In the simplest form Google or Python.org could serve these files on a CDN. In a more complicated form you could run an application on a range of Python versions, and only download updates when you want and need them.
- steveklabnik 8y agoAh, yeah. We’ll see if it happens.
- deleted 8y ago[deleted]
- krapp 8y ago>npm is already that package manager :) No, we should be working to replace NPM and the bad influence of the javascript community, not double down on their ubiquity. We should be able to do a lot better than sticking with NPM and wrapping everything in Chromium.
- hu3 8y agoNo, parent clearly wrote that Webassembly is limited to Rust and C due to having no Garbage Collection. Which, as I demonstrated, is just wrong.