I used to do web with nodeJS & React, for quite some time so I would classify myself as pretty skilled with React. However before web I was a Unity developer for a long time (like 4 years now), I still do some stuff in Unity. So I have far more experience with C# than JS, and honestly I enjoy OOP much more (and yes, I know about TypeScript).
I want to switch to ASP (because, reasons). So far I have only watched some courses/videos, so I don’t really have any experience in ASP yet. In one of the first videos I watched, I saw that you could choose React, Angular or Vue. And I am very curious about that, because I thought that those frameworks were only for Node.
I know how awesome React is, but I don’t know that about Blazor. Because of my background with C# I actually would want to try Blazor out. So like the title says, will I be missing out on something if I won’t use React?
React, Angular or Vue. And I am very curious about that, because I thought that those frameworks were only for Node.
these are javascript frontend frameworks for single page applications that don’t care about the language used as backend.
I know how awesome React is, but I don’t know that about Blazor. Because of my background with C# I actually would want to try Blazor out. So like the title says, will I be missing out on something if I won’t use React?
Blazor allows writing SPAs in c# via webassembly. It’s pretty new and has some major drawbacks compared to the normal way of writing SPAs with javascript.
For Blazor Webassembly the download size is larger, performance worse and the ecosystem smaller. This will get better over time as both WASM and Blazor matures. Right now the only real advantage of Blazor is in C#, if you prefer it over JS.
Right now Blazor Server has more advantages, but only for applications with relatively few concurrent users.
You just threw in a bunch of fancy words together. Not sure what you are actually asking.
using React has one big advantage, you are not dependent on C# and can use PHP or anything else as a backend. But never hurts picking up new skill.
But if you ask me, Blazor is not a “marketable” skill (yet).
Blazor WASM is not dependent on C# for the backend either. It is a SPA just like React but instead of JS you use mainly use C# in the browser. You can use whatever backend you want.
using React has one big advantage, you are not dependent on C# and can use PHP or anything else as a backend. But never hurts picking up new skill.
You can do that with Blazor too. React has other major advantages but this isn’t one.
Switched from Vue to Blazor. And honestly I won’t look back. I’m not going to rehash the benefits, I’m sure you can find lots of articles. But 2 things that you’d need to keep in mind though. Blazor has a more traditional version where it runs the frontend on the server making UI updates via SignalR. So there is a bit of a performance penalty and given the amount of users; you might have to scale more to keep the UI running smoothly for everyone.
You have the Webasm version that runs on the client, like you’d expect with any JS SPA framework but the tech is pretty new and might have some downsides(e.g not having direct control over the dom, large runtimes or VMs etc).
Next thing. I haven’t seen any jobs for Blazor, and I don’t think you’d be seeing a lot for a few years to come. So if you want to have professional experience in webdev and Asp.net, I’d suggest to keep your React skills up to date, but it doesn’t hurt to learn something new like Blazor and using it in your personal projects.
Why don’t you just try everything out? Takes 20 mins tops to get Hello World running on each.
I want to switch to ASP (because, reasons). any experience in ASP yet
Please call it ASP.NET Core, ASP/ASP.NET is the ancient predecessor.
because I thought that those frameworks were only for Node.
Then I would suggest that you actually learn React+TypeScript in depth first and understand the browser ecosystem well.
After all, Blazor (client side) and all the other frameworks run on the browser’s JS/WASM engine so you need to understand the difference between a SPA (client side) and Node (server side) as well as concepts like server side rendering (SSR).
Blazor also has a server side mode, make sure you don’t want to get confused.
OOP much more (and yes, I know about TypeScript).
The way I write my code is very similar in TypeScript/C#. OOP has nothing to do with writing web apps. It is possible to write a web app with express-like syntax in C#/ASP.NET Core too.
I saw that you could choose React, Angular or Vue.
ASP.NET Core is the backend (or Express, in the Node world). The frontend makes requests to it via a HTTP REST API, so the frontend can be anything, even a plain JavaScript app or some old obscure framework. You don’t need to have the frontend and backend in the same project/solution.
Why I won’t try them out? Because perhaps i already did, when I started with Node.
Perhaps I am wrong, but I am pretty sure that the “new” ASP and the “old” ASP, are the same thing (more or less), except for the runtime, Framework or Core. And more importantly, Framework will become deprecated in like 10 years (Microsoft said that themselves). Although it is quite some time, once it will, there won’t be any Framework, and with that the “old” ASP will go. Meaning that if someone will mention ASP or ASP.NET, there will be only one to choose from, right?
I would like to learn more about the web ecosystem, but the thing is, I am self taught. And I have noticed, that if you are self taught, it’s likely that you’ll miss some things, especially if those are not crucial. Saying that, I associated JS front end Frameworks, solely to Node, because I never saw them anywhere else. And yes I know about the client Vs server thing. In one of my first projects (with Node and React), I had a routing issue, so that’s when I learned about this.
What I meant by saying that I enjoy OOP more, is that I enjoy game development more. Although game development in itself has not much to do with OOP, but the thing I like most in game dev, is scripting. Which you do with OOP concepts.