Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
Yeah, WASM seems weird at first. But browsers are so advanced these days, we're no longer on dialup, and the hardware they are running on is light years ahead of anything fifteen years ago, so why not?Thanks to your recommendations I have discovered Blazor, which is pretty new by the way, it comes with Visual Studio 2019.
Web Assembly looks really interesting. Running an app locally with WASM is multi-platform?
They are both SPA. The difference is where the code runs. In a Blazor WASM Client your code is being executed locally in the browser. In a Blazor Server (i.e. non WASM) your code is running remotely on a server.SPA is used both WASM and Blazor Server or only WASM? And loading content dinamically is similar to callbacks?
It's a matter of preference. The project size doesn't matter. In theory, a WASM client could get bloaty (i.e. a ton of DLLs, static files, etc.), thus making the initial download take some potentially obnoxious amount of time since it has to download the whole thing. But once the client is up and running, it's good to go. A non-WASM client would upload user inputs and then download screen updates. So not a lot up-front, but over time could be potentially wasting bandwidth. I suppose in a WASM scenario if you're not careful about pruning the data you are requesting (i.e. sending all rows) you could be doing things more inefficiently. There's a finesse to doing a pure client.WASM should be used for small projects right?
Technically, everything is moving to .NET 5...
But to answer your question, yes, ASP.NET Core MVC is where MVC has moved to. Start learning razor pages, if you haven't already. Bring your HTML, CSS, javascript, jquery, bootstrap, etc. skills with you, you'll need them.
I self-taught myself ASP.NET Core MVC fairly quickly, so I'd say skip the books/courses. There's enough free knowledge out there on the internet, you just have to know where to look. Start with Microsoft's Overview of ASP.NET Core MVC. Get familiar with the terminology and high level concepts. MS's examples are a good start, but a bit boring. If you're not afraid of jumping straight into it, take a look at IdentityServer4 and their Quickstart guide. The server they'll have you build is MVC based (ASP.NET Core 3.1 to date). It's a real world example, and you'll end up with a working OIDC authentication server at the end of the tutorial. Who knows, you might end up using it later on. So, bonus.
However, I'd recommend skipping MVC altogether and jumping straight into ASP.NET Core Blazor. Blazor is far more cutting edge than MVC. If you care anything about a responsive or rich user experience, SPA web design is where it's at today. With Blazor, you're writing things in C# instead of Javascript. And if some 3rd party thing you want is already is written in Javascript, you can just wrap it with a little C# and reuse it. No need to reinvent the wheel, I say.
I've spent the past 11 months learning and developing with both MVC and Blazor, and Blazor pretty much blows it out of the water. Sure, you can pull off some of the things Blazor does with MVC, but you'd have to write a ton of Javascript. I'm more of a C# developer, so Blazor was the better fit for me. I found out I like writing reusable REST APIs far more than MVC-centric controllers. If you go Blazor WASM for a client, you'll be writing a lot of REST APIs for your backend. Of minor note, I also found debugging in Blazor a lot less annoying than MVC. Another neat thing about Blazor WASM is with minimal effort you can convert your existing project into a locally run app (think React/Electron). You can't do that with MVC.