I think the biggest deal is in docker-like containers that don't need a full os running which shrinks the overhead massively. Just abstractions of the specific OS stuff in the container.
@@WayneMunro the idea (and docker already does this with WASI as does Kubernetes) is that you don't have to spin up a host os shim and instead all that is spun up is the abstracted interfaces to the host, and the only thing it knows what to do is run wasi and that's it. In tests, you can spin up a WASI container in a few ms and have it active with 1/3rd the memory overhead of a container running a stripper version of linux that hosts your app. So if you're doing microservices or similar the savings is HUGE.
.Net 8 with Blazor newest features will be a game changer for the whole internet even desktop applications. Congratulations and thank you very much for providing it to us!
Steven, thank you and your team for the great work! Looking forward to the final result. I'm actually going to write my MSc degree work on WASM, WASI topics. Plan is to concentrate on containerization and capabilities of the technologies as Docker-alternative.
The DotNetIsolator is great. Ive been waiting for years for someone to provide a sandboxing mechanism for plugins. Hopefully that makes it out of preview.
Thanks for sharing the update on WASI. Please can you also share the font you are using as well as how you got your terminal prompt to look the way it is. Thanks
I really like this, except I can't run .NET Wasm on due to the lack of sock_accept. I think this symbol is above and beyond the preview1 spec, is there any documentation on this?
@stevesandersonuk - What are the challenges of implementing the final example (that starts as Blazor Server then downloads the app and runs it in WASM) in real life?
First thing that comes to my mind - database connection. Yes, your app suddenly works in browser, but if it needs data from db - said db has to be accessible from your computer. And that leads to second thing that immediately popped in my head - app secrets. In order to connect to db or any other external system, app must have some sort of credentials. And if you are motivated enough, you can extract those credentials from wasm that runs on your machine where you can do whatever you want with it. Just these 2 mean that server app that starts running on your machine can't be fully functional and secure at the same time. And in many cases it can't be both.
@@dsvechnikov Thank you for pointing out those key issues. On a case-by-case basis all these can be overcome (I am thinking of perhaps using Local Storage and then syncing the data back to the server on re-connect) but, I could see why Microsoft would not want to try to make a "general solution".
I have watched the universal blazor demos and there Steve showed how the wasm files get downloaded while Blazor server is active. As soon as all wasm files are there the switch is made. Sure your code needs to be prepared for these hybrid flows.
I don’t think the security issue would be as bad as it seems, as there’s a completely isolated wasm heap for each user (same as for client-side wasm). But the size constraints are an issue.
Running backend server app in a browser? You're crazy and I love it!!!
You guys are all amazing! Steve Sanderson is fast becoming a living legend (if not already!) Keep up the good work! 👍
I think the biggest deal is in docker-like containers that don't need a full os running which shrinks the overhead massively. Just abstractions of the specific OS stuff in the container.
What's faster to run, a docker container instance or a wasm process? can docker run in the browser?
@@WayneMunro the idea (and docker already does this with WASI as does Kubernetes) is that you don't have to spin up a host os shim and instead all that is spun up is the abstracted interfaces to the host, and the only thing it knows what to do is run wasi and that's it.
In tests, you can spin up a WASI container in a few ms and have it active with 1/3rd the memory overhead of a container running a stripper version of linux that hosts your app.
So if you're doing microservices or similar the savings is HUGE.
Please make more videos, weekly would be great. Daily would be amazing..
.Net 8 with Blazor newest features will be a game changer for the whole internet even desktop applications. Congratulations and thank you very much for providing it to us!
I see your notification and I watch quickly❤
Steven, thank you and your team for the great work! Looking forward to the final result. I'm actually going to write my MSc degree work on WASM, WASI topics. Plan is to concentrate on containerization and capabilities of the technologies as Docker-alternative.
The DotNetIsolator is great. Ive been waiting for years for someone to provide a sandboxing mechanism for plugins. Hopefully that makes it out of preview.
Exactly my thoughts, this is pretty awesome.
I started working on testing it for that kind of stuff
Steve, what about wasm component model support for C#? Seems like a key missing piece.
Thanks for sharing the update on WASI. Please can you also share the font you are using as well as how you got your terminal prompt to look the way it is. Thanks
It is awesome you did this experiment Steve. That last part will get us all thinking about what could be possible....
I really like this, except I can't run .NET Wasm on due to the lack of sock_accept. I think this symbol is above and beyond the preview1 spec, is there any documentation on this?
@stevesandersonuk - What are the challenges of implementing the final example (that starts as Blazor Server then downloads the app and runs it in WASM) in real life?
First thing that comes to my mind - database connection. Yes, your app suddenly works in browser, but if it needs data from db - said db has to be accessible from your computer. And that leads to second thing that immediately popped in my head - app secrets. In order to connect to db or any other external system, app must have some sort of credentials. And if you are motivated enough, you can extract those credentials from wasm that runs on your machine where you can do whatever you want with it.
Just these 2 mean that server app that starts running on your machine can't be fully functional and secure at the same time. And in many cases it can't be both.
@@dsvechnikov Thank you for pointing out those key issues. On a case-by-case basis all these can be overcome (I am thinking of perhaps using Local Storage and then syncing the data back to the server on re-connect) but, I could see why Microsoft would not want to try to make a "general solution".
I have watched the universal blazor demos and there Steve showed how the wasm files get downloaded while Blazor server is active. As soon as all wasm files are there the switch is made. Sure your code needs to be prepared for these hybrid flows.
cool again👍
awesome
I have to know what font you using!
that’s some awesome stuff!! i hope nobody actually tries that heap migration for real… that sounds like a security nightmare!!
I don’t think the security issue would be as bad as it seems, as there’s a completely isolated wasm heap for each user (same as for client-side wasm). But the size constraints are an issue.
🤯🤯
This is very cool!
🤯
incredible!
Very cool! :)
Get an SM7B like everyone else.