Тёмный

Which C# Web Application Type Should I use? MVC? Blazor? Razor Pages? 

IAmTimCorey
Подписаться 421 тыс.
Просмотров 140 тыс.
50% 1

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 397   
@Exozik
@Exozik 2 года назад
This really helped me a lot grasping all the essentials differences and advantages of each project type. Very well done Tim!
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 2 года назад
Thanks for watching and for the endorsement.
@ghm7093
@ghm7093 2 года назад
It worth mentioning that not every business/project is suitable for SPA; f.e. public pages or content-centric sites. So the type of the website/app affects which technology to choose. Very important!
@masterflitzer
@masterflitzer 2 года назад
yeah most intranet apps in my company I wouldn't want to do as spa because it's just not suitable
@karis7539
@karis7539 3 года назад
One of the biggest reasons to learn C# is this channel
@IAmTimCorey
@IAmTimCorey 3 года назад
I’m glad you feel that way.
@cissemy
@cissemy 2 года назад
That's right.
@gavingreenhorn
@gavingreenhorn 4 месяца назад
Thanks for this Tim. When I go to Microsoft docs trying just to home in on a starting point, I get easily overloaded with all the acronyms and discouraged.
@IAmTimCorey
@IAmTimCorey 4 месяца назад
You are welcome.
@searcey
@searcey 2 года назад
Thank you! Loving using C# for everything with Blazor Pages and .NET 6. Keep up the great work!
@IAmTimCorey
@IAmTimCorey 2 года назад
Thanks!
@skewty
@skewty 2 года назад
Great talk. I realize this video is limited (based on title) to c#, but it would be valuable context to many to mention how other frameworks do some of these "better" than MS's offering. Blazor requiring a large webasm blob is seen as 2nd class at best. It's MS's attempt to catch-up to other frameworks (and they haven't yet).
@IAmTimCorey
@IAmTimCorey 2 года назад
Thanks for the suggestion.
@oh2txb18
@oh2txb18 Год назад
What would you say is better? Legitimately trying explore options at the moment.
@paulminshall8793
@paulminshall8793 2 года назад
In our company, every problem looks like a Mendix application. This is because they bought it before proper evaluation and it is so expensive, they are trying to utilise it everywhere.
@bendunaway8296
@bendunaway8296 3 года назад
Blazor is my tech of choice. We have 4 server side applications in production, being used thousands of times per day, with no iddue. Blazor totally simplifies the development process for single page response application. Plus, I hate JS. :)
@IAmTimCorey
@IAmTimCorey 3 года назад
Excellent!
@jessecavada3015
@jessecavada3015 3 года назад
Some people would say “You are in the wrong job if you are building for the web while hating JavaScript.”
@maximeumbra7235
@maximeumbra7235 2 года назад
Began as a complete beginner slightly under two years ago, tried js for a week and it felt like suffering involuntary convulsions every five minutes. C# was enjoyable from the first line i ever wrote in it.
@ChamuMatumbura
@ChamuMatumbura 2 года назад
Once I got hooked up to Blazor, I kissed goodbye to JS.
@MrSurfsAlot
@MrSurfsAlot Год назад
@@ChamuMatumbura is it just me or is there literally still some things you pretty much HAVE to use JS for?
@troymitchel4790
@troymitchel4790 10 месяцев назад
Hey Tim, could you make an updated version of this video comparing .Net 8 technologies?
@IAmTimCorey
@IAmTimCorey 10 месяцев назад
It is coming, but not right away, though. I want to get some things built with Blazor first.
@objectaware5296
@objectaware5296 3 года назад
Great run down but there was one point that was not mentioned. Blazor is a Single Page Application (SPA) that has some limitations, disadvantages over MPAs.
@objectaware5296
@objectaware5296 3 года назад
@Soy Orbison, sure if you're debating SPA versus MPA but the topic is what to use from the .net ecosystem, and knowing the advantages disadvantages of Blazor SPA versus Razor Pages MPA is necessary knowledge.
@allthecommonsense
@allthecommonsense 2 года назад
Lol. Imply a problem but don't provide even a few example details. That's helpful.
@pw.70
@pw.70 3 года назад
Excellent explanations - thanks Tim.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for supporting Tim
@pw.70
@pw.70 3 года назад
@@tomthelestaff-iamtimcorey7597 - Oh no! You must be Tim's Tom! ;o)
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
@@pw.70 Truly!
@kmills-swimmin
@kmills-swimmin 3 года назад
Around 18 mins in you mention news sites like CNN, etc. Hypothetically, which of these project types would you recommend for CNN? I feel like it would be Blazor Server? To try and reduce that huge initial load, and still allow for the interaction. Would you agree? P.S. You are amazing, you're the first person I'll be donating to on Patreon ever.
@IAmTimCorey
@IAmTimCorey 3 года назад
I would probably lean towards Razor Pages. Blazor is best when there is user interaction (capturing user input, etc.). CNN is mainly used for consumption of content. Razor Pages are really quick and light. They are also simple. Later, if you want to add in Blazor Server (or MVC or API), you can easily just add it in for the pages that need it.
@yusiff
@yusiff 2 года назад
Hey, Tim! Thanks for the video. It was very informative.
@IAmTimCorey
@IAmTimCorey 2 года назад
You are welcome.
@ericberman3965
@ericberman3965 2 года назад
Great video! Your explanation was a huge help
@IAmTimCorey
@IAmTimCorey 2 года назад
I am glad it was so helpful.
@kirillzlobin7135
@kirillzlobin7135 5 месяцев назад
So Blazor Web Assembly is like an analog of React from Microsoft world? And Blazor Server is like Next.JS correct? I just need to wrap my head around this new stuff for me, as I am coming from JS world :)
@IAmTimCorey
@IAmTimCorey 5 месяцев назад
This can be a confusing topic. What makes it even more confusing is that Microsoft combined the two concepts into one in .NET 8. But let me explain each individually first. Blazor WebAssembly (WASM): Similar to React, yes. It is fully client-side rendered. Blazor Server: Somewhat similar to Next, but also different. It is a Server-Side Rendered language (SSR), so no code goes to the client. However, it uses SignalR (really just a wrapper around Web Sockets) to give real-time client-side interactivity. That gives you the safety of a server-side language while giving you the functionality of a client-side language. The only downside is the constantly-open connection to the server (super-tiny, so you can have thousands of connections on even a decent web server). Now let's discuss .NET 8. In .NET 8 we have two Blazor projects: Blazor WebAssembly - Yes, this one still exists because you can make a PWA and run your web application offline. Blazor Web App - This can do SSR, Server, and WebAssembly all in one project. You can use SSR for pages that don't need client-side interactivity (or not much, since there can be a little). Then you can also have components that are Server or WebAssembly. This means the page could be SSR, but a small piece could have client-side interactivity. The really nice one is when you say the component is Auto. That means that the component renders initially as Server, since a Blazor Server component is very quick to render (but relies on that connection). However, in the background, the WebAssembly version of that same component is downloaded to the client. When the download is complete, the component is swapped out for the WebAssembly version. The client will use the WASM component from then on, including on future page renders. This gives you the initial speed of server-rendered Blazor Server and then gives you even more speed with the client-side rendered component without needing to wait for the initial download and now without having to rely on a constant SignalR connection anymore either.
@kirillzlobin7135
@kirillzlobin7135 5 месяцев назад
@@IAmTimCorey Thank you for such a detailed answer. You are the C# Legend
@LilPozzer
@LilPozzer 3 года назад
What about a video explaining what (auto) mapper is better to use?
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestion. In general, Automapper is probably the way to go.
@AholicWiki
@AholicWiki 3 года назад
I giggled about you saying people getting scared about 10mb of data I thought the days were over of people worrying about it. Even public wifi (I know shouldn't be used) is still bad but you can get a website downloaded on your phone or laptop browser client fast, yes if they were a bigger distance away from the server it would be slow like connecting to a server in the UK from the US (just an example). I think I'm going to try and become very well known with blazor I think it would be much better within a company.
@the-nasim
@the-nasim 3 года назад
Frontend: Next.js Backend: ASP.NET Core Perfect combination 😍
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Well... That is an option 😉
@SayWhaaaaaaaaaaaaaaaaaaaaaaat
@SayWhaaaaaaaaaaaaaaaaaaaaaaat 3 года назад
If u uave blazor, why would use inefficient javascript?
@the-nasim
@the-nasim 3 года назад
@@SayWhaaaaaaaaaaaaaaaaaaaaaaat Well because first of all I know Next.js 😁 and currently learning ASP. The cool thing about next.js is that it can generate static page. Which is just html, css. After that it can behave like a react application. Next.js has many cool feature that is well suited for most of the websites. And I think webassembly is overkill for basic pages like blog, portfolio etc. At the end, It always depends.
@LukeAvedon
@LukeAvedon 2 года назад
Excellent overview!
@IAmTimCorey
@IAmTimCorey 2 года назад
Thanks!
@kevinmungame1869
@kevinmungame1869 3 года назад
Blazor server is the best, for way bigger project I would likely consider razor pages
@IAmTimCorey
@IAmTimCorey 3 года назад
There is no best in my opinion. Each has their strengths and weaknesses and you choose what is best for your specific situation. All of these can handle a large application.
@getsmartpaul
@getsmartpaul 2 года назад
Do blazer client apps run in mobile apps on iPhone and android?
@IAmTimCorey
@IAmTimCorey 2 года назад
Blazor WebAssembly can be a progressive web application (PWA). That means that you can install it on any client (iOS, Android, Mac, Linux, Windows, etc.) as if it is an application. However, it is just a small wrapper around a headless browser window. This is a way to get your web app to look and function like a mobile app for practically free. However, it does not have access to anything more than what a regular web application has access to. You cannot get access to any specific resources like a mobile app can.
@lastidea4925
@lastidea4925 2 года назад
Quick info: MVC is actually just a architectural pattern. But Microsoft developed a technology for implementing it easily
@IAmTimCorey
@IAmTimCorey 2 года назад
Yep.
@TomRaf
@TomRaf 3 года назад
Nice explanation, thanks a lot!
@IAmTimCorey
@IAmTimCorey 3 года назад
You are welcome.
@waleedeissa2270
@waleedeissa2270 3 года назад
Thanks Tim. Could you please tell me the name of the cheap hosting service you mentioned at the end of the video?
@IAmTimCorey
@IAmTimCorey 3 года назад
Here is a link to them (affiliate link): www.interserver.net/r/589892 Make sure to get the ASP.NET hosting (which handles .NET Core just fine).
@bobclemens8065
@bobclemens8065 3 года назад
I use this one: also very inexpensive and great service: winhost.com
@gabrielgracenathanana1713
@gabrielgracenathanana1713 Год назад
1, put it double speed (not even 1.75). 2. listen to his analysis, but put the weight the opposite way. For example, he mentioned api, but put it the least weight. In reality, do that opposite. Use Angular.
@IAmTimCorey
@IAmTimCorey Год назад
This is like coming into a discussion on what different screwdrivers do and insisting that the right choice is a hammer. Different tools have different jobs. Different web application types have different jobs, which is what I was conveying. I'm not sure if you think I was de-emphasizing API or emphasizing it, but API is an important tool that every web developer should know how to use. It just isn't the solution to every problem.
@Timlaare
@Timlaare 3 года назад
Hi Tim! Question: I'm planning to build a very small website in which users can order tickets for an event organized by a voluntary organization. In the past the 200 tickets for this event were sold out after 3 minutes. So this website should be able to handle around 200 users in 3 minutes. I don't have to implement payment functionality. This organization will contact the people that have ordered a ticket for the payment afterwards. I'm doubting if I should use MVC, Blazor Server or Blazor Web assembly. Performance is key. Which project type would you suggest?
@IAmTimCorey
@IAmTimCorey 3 года назад
The fastest for your situation will probably be Razor Pages. They are super-quick.
@JoePiotti
@JoePiotti 3 года назад
Blazor server is da bomb. I have been using it since it came out. I never want to deal with angular again.
@IAmTimCorey
@IAmTimCorey 3 года назад
I really enjoy it too.
@trxe420
@trxe420 3 года назад
Just what I needed, looking at porting /g an Angular app to a Microsoft web project. Looks like I will go a mix of Blazor and Api, just not sure if I want to do WebAssembly or Server. Can they be mixed? Is there even a use case for that?
@DamianWalczak
@DamianWalczak 3 года назад
is this Herman Miller Aeron with the headrest attached behind You?
@IAmTimCorey
@IAmTimCorey 3 года назад
Yep
@geoffreyhibon2651
@geoffreyhibon2651 Год назад
G R E A T!
@IAmTimCorey
@IAmTimCorey Год назад
Thank you.
@czeysy
@czeysy 3 года назад
Hey Tim! Thanks again! I have a question recently I've started integrating Blazor components to an Existing Razor Pages application and I've found it a bit tricky to configure layouts and use Razor View methods from inside the components, did you have any experience of this kind?
@chrisl8073
@chrisl8073 2 года назад
Hi Tim, could you comment on how to progress a reasonably large, business critical WebForms project to adopt more modern web UI technology(ies), without re-writing the entire thing (which can't happen)? I have been tasked with looking at this, and am looking at going down the line of adopting MVC within the same website to start to migrate towards a 'better', more testable, better performing (for the new features) and more structured solution that can co-exist with the existing WebForms. I'd love to use Blazor Server and have played with this a bit, but I don't see how that could be made to work in this context. Any thoughts or comments from you or anyone with any experience of this very much appreciated. Thanks for what you do BTW, I have returned to IT after a mid-life venture into something totally different, and have found myself watching a lot of your videos.
@SuperStarZinMinnLaht
@SuperStarZinMinnLaht 3 года назад
One thing Blazor Server Magic .... If we add server.js and some a few files, blazor server act like PWA. We can add to home screen with Full Screen App. It's true ?
@IAmTimCorey
@IAmTimCorey 3 года назад
Not Blazor Server. Blazor WebAssembly can be a PWA. Blazor Server needs to be always connected via SignalR so working as a PWA is practically useless since it can't do offline.
@warlockCommitteeMeeting
@warlockCommitteeMeeting 3 года назад
ty
@IAmTimCorey
@IAmTimCorey 3 года назад
You are welcome.
@AnonymousDeveloper1
@AnonymousDeveloper1 3 года назад
How about REST API? Why don't you want to create video about it?
@IAmTimCorey
@IAmTimCorey 3 года назад
I've done quite a few videos on creating APIs. I haven't covered REST specifically simply because it is such an abused term that practically no one gets right (for good reason - the actual REST standard isn't really a standard and it is way too over the top). I may cover it at some point, and talk about REST-like APIs.
@AnonymousDeveloper1
@AnonymousDeveloper1 3 года назад
@@IAmTimCorey Yeah Tim, you are right because REST is architectural style and for what I know it is something like guideline how to project APIs (not only web ones). Well, to be honest I like that you make really high quality stuff and it would be nice to see a great video about REST API and some related things to it. I do not know your channel well and maybe I missed something: did you record only Intro to WebAPI (.NET Framework) video or is there something for .NET Core too?
@pixelmasque
@pixelmasque 3 года назад
Awesome
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks!
@ernest1520
@ernest1520 3 года назад
"You can't have appsettings.json file in Blazor wasm" That's not actually true. I'm aware of what you were trying to say but this specific sentence is misleading. You can have appsettings.json file in WASM, and in fact Blazor by default will still fetch it (if available) and use it to build the configuration. It is still a valid thing to use for any configuration that is safe to access publicly. For example API URLs that the Blazor will talk to can be defined in appsettings.json. This makes supporting multiple environments much easier, because you can then simply substitute the values in appsettings.json with environment-specific URLs. You shouldn't keep any confidential information in there of course.
@IAmTimCorey
@IAmTimCorey 3 года назад
Correct. I meant to say that you can’t have it for database connections. We are using appsettings in the TimCo series.
@setiadisudrajat5031
@setiadisudrajat5031 3 года назад
how about blazor desktop Sir...?
@IAmTimCorey
@IAmTimCorey 3 года назад
It isn't out yet. It is still in preview for .NET 6. A lot can change before it is released, including the possibility that it won't be released at all. I'll wait until after it is production-ready before covering it. I would suggest you hold off on building anything real with it as well.
@Saveaaa
@Saveaaa 3 года назад
Can anyone briefly describe what the author of the video is saying? it's just hard for me to understand by ear. thanks!
@IAmTimCorey
@IAmTimCorey 3 года назад
There are subtitles if that helps.
@Saveaaa
@Saveaaa 3 года назад
@@IAmTimCorey unfortunately I don't understand some words. It will take a very long time to stop and translate each time. But it looks like I'll have to do it.
@Saveaaa
@Saveaaa 3 года назад
@@IAmTimCorey I was able to transfer the voiceover of your video to my language using my browser
@allthecommonsense
@allthecommonsense 2 года назад
He's saying there are 5 different project types and which one you choose depends on your desired outcome.
@IAmESG
@IAmESG 3 года назад
Bold of you to assume I have friends.
@IAmTimCorey
@IAmTimCorey 3 года назад
Time to put in some work to make some then.
@rafaeltab
@rafaeltab 3 года назад
My opinion on this is simple. None of them, create an API and a React, Vue, Angular, whatever frontend. If you EVER want to switch or add a platform, you don't have to convert the entire code base. You can use different languages as you please, separate teams. If you have an API and a React frontend you can very easily add a mobile app, if you already have a JS or TS team just use React Native, hire one or two React Native specific employees and the entire team will be able to convert over. All the important logic is still in the API, no need to add all the logic to the new app. Also, your UI will look WAY better.
@IAmTimCorey
@IAmTimCorey 3 года назад
I wouldn’t choose such a “one size fits all”-type conclusion. It depends on the situation, team, and more. An API is a good approach for larger projects but that doesn’t preclude using a C# front-end. As for the UI looking better, that has nothing to do with the front end chosen and everything to do with how you design it. All of them use HTML and CSS for display. Splitting your focus between C# and JS is an expensive choice that isn’t always the right choice.
@rafaeltab
@rafaeltab 3 года назад
TL;DR there are good reasons to use C# in the frontend. However, I find the cons out way the pros when compared to JS framework in most cases. My opinion is of course not final and YOU SHOULD by all means listen to Tim Corey since he is way more experienced than I am, especially with what a company needs. At my workplace, we use an MVC web application with a separate API. In the case of my work it is a perfectly fine solution since the first creator barely knows any JS. In this case, the look of the UI is of no importance whatsoever either, adding to the benefit of using just MVC. However, if I ever get to create an app myself, I will always go for the API-React solution since I can program fairly fluent in both languages. Also, I disagree on the part where you say the UI has nothing to do with the front-end chosen. Using a front-end framework can greatly improve the quality of a UI. I could never in a million years create as good of a UI in MVC as I could with React (Unless of course I were to use React inside MVC). Front-end frameworks are made with a reason, and that is improving the quality and ease of creating UI's. Sure, you could technically create the exact same UI's with the same functions with both ways. However, the effort needed to do it without using a framework is significant. Having more time also means a better UI, more features or more free time, which is always a win in my book. I have never tried web assembly, which might negate all of my previous points. Splitting focus between C# and JS can be an expensive, but also a very worthwhile choice. An example of this is when you make widespread use of the features C# adds for frontend. In this case, the situation might arise, and in my case has arisen many times, where you want a more complex set of features in the front-end, like a code editor. Which is quite a big example that not many people would need, but explains my point perfectly. In this example, the employee implementing this feature will need precise access to the data and how it is handled. This will have to be done with JS. So the stuff that needs to be added has to be supplied with the model, then you have to edit it with JS and add it to the submit request when it is done. This adds confusion to the code, which is undesirable, like having to convert a model to JSON before it can be added as text to the preexisting JS. Adding all kinds of possible vulnerabilities like Cross Site Scripting and other nasty stuff. In a lot of companies, there already is a front-end team that deals with JS frameworks. In most cases, to create the main company website that has no backend, this team can also work on these JS frontends that are for more inside the business systems, if desired. Of course, one should consider all these elements before making a decision. However, in my case, this has always led to the conclusion that I should use React with a separate backend. I think if you are wise enough to make this decision yourself, you won't look at this video or won't listen to my comment. Otherwise, this is a pretty good option.
@gabrielgracenathanana1713
@gabrielgracenathanana1713 Год назад
Blazor is the new MVC, why do you complicate it so much? The Razor is MS's Angular, using C# instead of typescript. Again, why do you complicate it? My guess, the reason is that, then, it would be obvious that they will fail. Blazor and Razor will fail.
@IAmTimCorey
@IAmTimCorey Год назад
Because that's an incorrect take. Blazor and MVC are two different things with two different reasons to exist. Also, Razor Pages are not like Angular. Razor Pages are a server-side web application, similar to PHP. Blazor WebAssembly would be closer to Angular. Also, and I'm wondering if this is going to blow your mind, did you know that Typescript is created by...Microsoft? They aren't in competition.
@christiandiomangay5107
@christiandiomangay5107 3 года назад
during college i got bucky roberts at my back but now its tim corey ..
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thank you for continuing your learning with Tim.
@mememonster2370
@mememonster2370 3 года назад
@@tomthelestaff-iamtimcorey7597 i learned native andoid development fom bucky later got job in xamarin and now trying to learn web development,web api ,xunit tests with tim
@AlThePal78
@AlThePal78 3 года назад
I use to love bucky :)
@FiveNineO
@FiveNineO 3 года назад
The stack is getting quite confusing if I'm honest
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
All the more reason to stay up to date with Tim!
@TheCameltotem
@TheCameltotem 3 года назад
MVC will be around. But if you're just starting out just go with Blazor Server side or .NET api + Javascript. Those are the most popular to use at work.
@TheCameltotem
@TheCameltotem 3 года назад
@Soy Orbison Yeah it's easier but I think you have to ask yourself why we even define a class in the beginning? I mean look at typescript, it's becoming really popular because typed languages save so much in regards of errors.
@SuperDre74
@SuperDre74 3 года назад
@limelight81 But when would you need to consume an arbitrary structure in your webapp, you can only process it when you know what you want to do with it (unless it's some sort of data testing thing). And as you say, it's also possible with stuff like blazor.
@johnmadsen37
@johnmadsen37 3 года назад
@limelight81 front end JavaScript guys will always go with untyped, error prone script. Blazor with the front end running converted c#, solves this for OOP guys. People don’t know what they don’t know. Script guys are usually surface level understanding of oop, if any.
@LuigiZambetti
@LuigiZambetti 3 года назад
Tim do you make a full playlist for a Blazor Server web application in the future?
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
I will add that great suggestion to Tim's list. In the mean time, get a head start using this list of Tim's Blazor videos - ru-vid.comsearch?query=blazor
@codyjmathis
@codyjmathis 3 года назад
+1 - I as well would love to see a full series using Blazor server. It’s such a powerful tool for so many use cases out there.
@rendellgood
@rendellgood 3 года назад
Amazing content with practical answers to so many questions I come up with. Thank you for these high quality tutorials/informative videos!
@IAmTimCorey
@IAmTimCorey 3 года назад
You're very welcome!
@MusicForHourss
@MusicForHourss 2 года назад
Next time I would like to see some diagrams or text on the screen. Hard to follow when I can only listen to your voice and try to get that information into my head
@IAmTimCorey
@IAmTimCorey 2 года назад
We are still working through this. The issue is that you are seeing a podcast. It is meant to be listened to. You get to see extra because you are watching it, but I don't want the listening experience to be less valuable.
@jeffkennedy2269
@jeffkennedy2269 2 года назад
I would like to go with WASM but I still need to hit web services, not API's, is that a problem?
@IAmTimCorey
@IAmTimCorey 2 года назад
It depends on the type of web service. Remember that nothing is secure on the client-side, so you can't put access tokens or other items in the Blazor code that authorize the application to talk to the web service. If you can use application authorization or ask the user for credentials, then you will be fine.
@aaronbrightware
@aaronbrightware 3 года назад
I've been building a large forms heavy web app for past couple of years. I went with razor pages as I wanted something with strengths of web forms binding but cleaner. Blazor seemed too experimental, MVC has more ceremony than I find necessary, Angular and React add un-required complexity. It was the right decision for my project, no regrets and so far there has been no downsides. Have also made a couple of small side apps using Blazor Server. It was real easy to do, and super clean code. Could see myself moving to Blazor Server from Razor pages one day, but going to wait and see.
@andywalter7426
@andywalter7426 3 года назад
I would actually recommend blazor server side at least. I worked with razor pages some. I think that blazor is much better than razor pages and makes it much easier to create components and break out the logic and easier to maintain.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for watching and sharing your thoughts!
@aaronbrightware
@aaronbrightware 3 года назад
@@andywalter7426 Agreed, I really like working with Blazor and its superior component model and have been on-board since the really early experimental demos. But I do find razor pages to be slightly more reliable, whereas I've experienced some odd quirks and bugs with blazor, simply because its a new paradigm. I'm going to wait till .net 6 before making any leaps!
@bardus_hobus
@bardus_hobus 2 года назад
What would you recommend for an e-commerce site? I was thinking of starting in MVC but you think blazor server would be better? Would I still use mvc architecture?
@attilaguba856
@attilaguba856 2 года назад
I'm just using Asp Net Core MVC .Net6 to build E-Commerce now! Mostly I use MVC but I tried Razor too! I do prefer MVC though! But definitely I'm interested in Blazor never used!
@jonbordon3406
@jonbordon3406 3 года назад
Thanks for a great explanation! I have a question. People talk alot about the downside that you can’t use a Blazor server app when the network is down, but who tries so surf the web when the network is down? Pretty much all sites become pretty useless without an internet connection, right? What am i missing here?
@victorene3608
@victorene3608 3 года назад
My thoughts exactly.
@IAmTimCorey
@IAmTimCorey 3 года назад
Web applications can definitely benefit from offline access. For instance, the cable company where I used to live used a web application for their technicians. That way, their technicians could use any phone/tablet they wanted. However, their technicians were working on installations where the Internet might not work so they made the web app a PWA with offline capabilities. The tech would fill in the work ticket information offline (if necessary) and would then sync it when they got back online. Delivery services also use systems like this.
@kevinmungame1869
@kevinmungame1869 3 года назад
On point, I don't know why everyone keeps calling it downside...what do you wanna do on the browser if the server is down?? There's no magic about it, it should just disconnect
@tomahawk5357
@tomahawk5357 2 года назад
@@kevinmungame1869 To me, coming from a desktop developer background it's not something conceivable that one user click in the front-end trigger a round trip to a server. And I am not an ecologist! Therefore I have never been interested by Blazor Server but Blazor Webassembly is another story.
@josephmoore7403
@josephmoore7403 2 года назад
Its about the purpose of the app... If the primary purpose is presenting info offline is pretty useless. If its about collecting information offline could be vital.
@bryanplum9061
@bryanplum9061 3 года назад
Hey man, thank´s for this video. I´m from Brasil, and learn a lot in you chanel ! Keep doing this work!
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad to hear that!
@sachinambre9451
@sachinambre9451 3 года назад
Which project type will you suggest to build real time web application like stock trading application?
@JoePiotti
@JoePiotti 3 года назад
Blazor server is perfect for that.
@mysteryman8007
@mysteryman8007 3 года назад
@@JoePiotti Could you elaborate, I'm also looking into this so it would be nice to get an explanation as to why Blazor is a good choice.
@PerryCodes
@PerryCodes 3 года назад
I know that some people have a vested interest in Blazor succeeding but I don't see it happening for a couple reasons. 1. Silverlight. You know what I mean. I loaned an expensive piece of guitar gear to a recovering addict so he could get back on his feet. I never saw it again. A year later he asked if he could borrow a guitar... I was introduced to the "Fool me twice" saying... You may feel differently, but I think that concept applies here. That's number one, but it pales in comparison with number 2. At every turn, the reason for choosing Blazor is NOT "This is superior in every way to your other choices!" Nope. You know what THE NUMBER ONE reason developers are given to choose Blazor over anything else? "You already know C#... why bother re-tooling to JavaScript? Use all the skills you already have and build something comparable to those JS boys!" Uh... Bzzzzzt. Wrong. JavaScript is THE LANGUAGE of the web. Full Disclosure: I'm NO JavaScript fanboy. As a matter of fact, C# has been my language of choice for almost two decades now after leaving Java. It served me quite well for nearly the previous decade. The best middleware used Java at the time. I strongly feel the best frontend frameworks require JavaScript/TypeScript. Don't buy into a crutch you must use for the remainder of a product's lifetime, that may or may not continue being supported by Microsoft. Mastering JavaScript for the frontend, even if you continue with C# in the middle and backend tiers... You won't regret it one iota!
@IAmTimCorey
@IAmTimCorey 3 года назад
I'll take on that challenge. Let's address your points one at a time. So your first point is that you were burned by Silverlight (weren't we all), so you aren't going to get burned by Blazor. I know that's the common comparison, but it's an apples to oranges comparison. Silverlight was a proprietary Microsoft technology that relied on browsers to support a custom extension to bring a proprietary coding language to the web. It required access that opened the browsers up for danger/viruses. That effort failed. People didn't install the extension, browsers struggled with supporting it vs maintaining security, and Microsoft got tired of the effort. That was a bad situation. Blazor is an open-source project built upon a web standard. Blazor Server uses SignalR and JavaScript to communicate (SignalR is just a wrapper around web sockets with fallbacks for long polling and other communication methods - all of these are web standards). Blazor WebAssembly uses WebAssembly, a JavaScript system for supporting web applications. All of this is built upon industry standards. None of this is proprietary. All of it is open source. So comparing an open source, web standard project against a closed-source, proprietary solution with no external backing is a bad comparison. OK, point two is that JavaScript is the language of the web so therefore C# is just inferior on the web and shouldn't try to compete. That's not what Blazor is doing. Blazor is building on JavaScript so that we can use C# for some of the interactions and JavaScript for the rest. Right now, the common "wisdom" seems to be that if you want any type of web application, you need Angular, React, or Vue. There's a problem there. It is like buying a Ferrari for every person that needs a car. Sure, some might need/use it but not everything needs that type of overhead. That's where Blazor comes in. It provides a web-standards compliant way to use C# to extend into the common areas of web applications. The benefits of doing so are that it reduces the number of applications that need full SPA frameworks, plus it reuses existing skills. You dismiss the idea that reusing existing C# skills is a factor, but I feel that's incorrect. Being an expert in C# and an expert in JavaScript (including at least one SPA framework) is practically impossible. As you get better in one, your skills will suffer in the other. It can be done, but it takes a tremendous effort (been there, done that - Angular front-end and WebAPI backend as a lead developer with only one other developer on the team). By allowing C# developers to go all the way to the full front-end with C#, we reduce the skills necessary for some teams. Yes, there is still definitely a place for SPA frameworks. However, now a shop has options. If they have two developers, they don't have to dedicate one to each language (or be ok with mediocre in both developers). The lie JavaScript has taught us is that the only way to truly exist on the web is through mountains of JavaScript code. That's just not true. Not every web application needs to be a client-side app. Not every web app needs to be a full SPA. Not all code on the front end of the web needs to be written in JavaScript.
@PerryCodes
@PerryCodes 3 года назад
@@IAmTimCorey Woah!! You brought a Model M to a membrane and rubber domes fight!
@torrvic1156
@torrvic1156 Год назад
What I’ve got from this video and comments section: 1) use razor pages if you want to make a web application with a small or no user interactivity but with a lot of static pages with tons of info in them, 2) use Blazor WebAssembly strictly with an API (for security reasons) if you sure that clients of your web application will have to work in offline conditions and can’t have stable online connection (for example in some retail store with unstable VPN to their central office), 3) for the sake of better maintainability try to use one programming language and avoid mixing of different frameworks from different languages in one app, 4) use Blazor Server for everything else 😊 Hopefully I’ve got it right 😂Thank you so much for this video Tim!
@IAmTimCorey
@IAmTimCorey Год назад
That's a pretty good framework for decision-making.
@GameplayDexter
@GameplayDexter Год назад
Thank you for this summary. Did you left out MVC consciously?
@torrvic1156
@torrvic1156 Год назад
@@GameplayDexter you are welcome! I am glad that a newbie like me can give somebody some useful tips of information. Frankly I never used it sir so I can’t say much unfortunately. What do you think about MVC yourself? I think that actually Blazor looks the way better then MVC in most cases but I can be wrong.
@kourosh234
@kourosh234 Год назад
Poor "Blazor Server side" is so underestimated. I wonder why?!
@sergiokml
@sergiokml Год назад
Hi Tim, I need to develop an intranet that connects to sql (EF) and also to a Sharepoint site (Graph). What kind of project do you recommend? blazor? razor? both? Ty!
@IAmTimCorey
@IAmTimCorey Год назад
I'm sorry, I really can't give you a specific answer. You need to figure out what works best for your specific situation. For instance, as a consultant, there were about 30 things I would evaluate to make a decision on which technology to use in a given situation, and it would even change per-project.
@bolbittu
@bolbittu 3 года назад
I still miss Web Forms. In my experience it was the fastest way to launch an application. Even without drag and drop thing. I never became fan of MVC project type. Especially with EF. I always enjoyed ADO.NET and used in most projects as data access tool. I know web forms doesn’t fit into the modern web development environment but I think, I had my best time in development with it. Razor Pages is my choice now.
@IAmTimCorey
@IAmTimCorey 3 года назад
Have you checked out Blazor Server yet? It isn't exactly the same as WebForms, but the spirit of WebForms is absolutely there. It is quick to build, it is quick to reuse "pages" as components, and it has the best of both client-side and server-side development.
@bolbittu
@bolbittu 3 года назад
@@IAmTimCorey I’m hearing a lot about Blazor Server these days. I heard quite good things when it comes to single page application development. But I’m still not sure if I can make complex ERP applications with it. But I guess I need to try it before I come to any conclusion.
@IAmTimCorey
@IAmTimCorey 3 года назад
While it does act like a single page application (SPA), it isn't really the same thing. It has the same scalability of any web application for making complete ERP applications. The biggest "concern" you will need to have is on the scaling of the SignalR connection. A good server can handle between 10,000 and 20,000 simultaneous connections. After that, you need to either offload your SignalR to Azure SignalR or spool up a second web server. Not really an issue since you probably need to scale everything up at that point anyway (remember, this isn't 20,000 connections per day but at one time so you can have hundreds of thousands of daily visitors without issue). Here is an intro video on Blazor Server: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8DNgdphLvag.html If you come to the point where you want to move forward with Blazor and need to know more, my Blazor Server In Depth course will really help: www.iamtimcorey.com/p/blazor-server-in-depth
@sirajshaikh3940
@sirajshaikh3940 3 года назад
hi tim, i building a website with blazor web assembly, which needs to SEO Freindly, i didn't find any material for seo in blazor webassembly could you please make tutorial regarding this topic , by the way huge fan of your tutorial and your timco retail manager project is GOLD
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for the recommendation. I have added it to Tim's list of viewer suggestions for videos.
@paulgehrman
@paulgehrman Месяц назад
Blazor WASM is my preferred choice. Way, way better than MVC, and orders of magnitude better than Angular.
@IAmTimCorey
@IAmTimCorey Месяц назад
Thanks for sharing!
@NicholasAllen-uu9qc
@NicholasAllen-uu9qc 5 месяцев назад
Do you ever see people mixing both Blazor Server App and WebAssembly into one project? I have a project where certain areas need to always be online, and other areas where it has to still function if connection is lost. Also, for WebAssembly what is the process for pushing updates and changes to the solution if a user already has it downloaded to their machine?
@IAmTimCorey
@IAmTimCorey 4 месяца назад
Have you seen the new Blazor Web App in .NET 8 (which mixes both and more): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-walv3nLTJ5g.html As for WebAssembly, it updates itself in the background automatically.
@hardryv3719
@hardryv3719 Год назад
Plenty of good information, but your video has the wrong title. What it actually should say is something like "How to determine your Project Type between MVC, Blazor, Razor, etc.
@IAmTimCorey
@IAmTimCorey Год назад
I'm not sure what you mean by "wrong title". The title is "Which C# Web application type should I use? MVC? Blazor? Razor Pages?". Your proposal is to change it to "How do I determine..." instead of "Which should I use". I don't see how one is significantly different than the other. Also, this is a Dev Question video. The video is an answer to a question developers have asked me. That's why it is in the form of a question.
@tccoder3547
@tccoder3547 Год назад
This was great information and very timely for me because I was going to start a project in Blazer Web Assembly, and I needed to store secured information. I dodged that nightmare.
@IAmTimCorey
@IAmTimCorey Год назад
You still can, you just need to do so with an API, but it is more complicated than other options.
@AlThePal78
@AlThePal78 2 года назад
What is the difference between a DTO and a ViewModel and how do you use them?
@waliqadri
@waliqadri Год назад
Thank you so much for this video. amazing video. I love Microsoft Technologies.
@IAmTimCorey
@IAmTimCorey Год назад
You are welcome.
@chris-c4c1n
@chris-c4c1n 10 месяцев назад
at your webiste are many courses to buy, a litlte expensive, but if i can buy only 4 of them to make my own website and do hositing, which courses i should buy from you website? which are most valuable ? i dont have money to buy all of them
@IAmTimCorey
@IAmTimCorey 10 месяцев назад
It all depends on where you are at and where you want to be. If you want to build a C# web application, you should know C# well. That would mean the C# Mastercourse. If you already know C# well, you've got a good start. Next, you should know modern web development well. That would mean the Web Development Mastercourse. You should know multiple ways to easily center a div, for example. If you understand that well, I would recommend the Blazor course to learn modern C# web development and the Azure course to learn how to utilize the cloud safely, cheaply, and effectively. If you decide that you need the mastercourses, I would recommend utilizing the All Access Pass (monthly or annual, although annual will be cheaper and you will need the time), since it will be more cost effective.
@infas_mhd
@infas_mhd Год назад
I wish you do all tech related explanation that are not bound to C#. Your explanation is very clear even for a beginner. Kudos to you🙆‍♂
@IAmTimCorey
@IAmTimCorey Год назад
Thank you!
@angmathew4377
@angmathew4377 3 года назад
I wonder blazor and blazor assembly are two different project types. And offloading Signal R to azure Signal R servers , are new stuff man. Thanks for making jargons a bit easier.
@IAmTimCorey
@IAmTimCorey 3 года назад
Yep, Blazor Server and Blazor WebAssembly are two different project types. I am glad you learned something new.
@ModerateDev
@ModerateDev Год назад
Hey Tim thanks for breaking things down, it's hard to get the lay of the land with all the choices. I'm going to buy your course glad I stumbled upon this video
@IAmTimCorey
@IAmTimCorey Год назад
You are welcome.
@michelchaghoury870
@michelchaghoury870 3 года назад
gr8 vide like always keep going tnx a lot for your efforts
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
We appreciate you making Tim a part of your development journey
@SaadMuhammadAmin
@SaadMuhammadAmin 2 года назад
Blazor server seems to be very good. But can you please guide in what specific scenarios it might not be suitable to use? Why having an always-on connection be a problem?
@IAmTimCorey
@IAmTimCorey 2 года назад
Offline access. That's the big one.
@kudzo005
@kudzo005 Год назад
Hi man, I have a.netcore app and for about a monthnow I have been struggling to deploy to iis. I am hoping you could help me figure it out
@IAmTimCorey
@IAmTimCorey Год назад
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
@LiveMahs
@LiveMahs 3 года назад
Thanks for the video. I'm a junior at a company that has an old Web Forms app that I work on, but they're phasing it out this summer so, I'm looking for a new job and I'd like to be prepared/start a couple projects with a frequently used framework. I don't want to be in this position again lol. I'm starting to learn JavaScript as well, so I'm hoping I can transition to a JS role eventually.
@IAmTimCorey
@IAmTimCorey 3 года назад
Best of luck!
@maja196785
@maja196785 2 года назад
12:21 "...aaand..pooop...it disappears ..." .... no, no, no...wait ...hold on for a second...I don't want anything to disappear :) :) :)
@IAmTimCorey
@IAmTimCorey 2 года назад
😆
@cyrildouglas9262
@cyrildouglas9262 3 года назад
Tim, which one do you prefer (Angular, Vue or React)?
@kevincordell9539
@kevincordell9539 3 года назад
I prefer Angular because it is more like c# to me. Yes, it has a steeper learning curve, but like I said it was more natural to me to go along with web api.
@cyrildouglas9262
@cyrildouglas9262 3 года назад
​@@kevincordell9539 I move to web apps soon, and sure I give an angular test, thanks for stating that.
@IAmTimCorey
@IAmTimCorey 3 года назад
I prefer to keep all of my development in one language (C#) whenever possible. It allows my developers to be more of an expert in the language because they aren't trying to be an expert in two languages. However, when I can't, I tend to lean towards Vue. It is simpler than the other two, with less to go wrong and less to learn. I used to use Angular, but they burned me with the move from 1 to 2. I'm really not a fan of the rapid iterations on any of them. It makes developing an enterprise system really hard.
@cyrildouglas9262
@cyrildouglas9262 3 года назад
@@leeroy1986 Thank you so much for the clarification.
@cyrildouglas9262
@cyrildouglas9262 3 года назад
@@IAmTimCorey Thanks so much, your point of view always makes things easier.
@moayadmyro2091
@moayadmyro2091 Год назад
If blazor use razor pages as ui why you compare in first place ?
@IAmTimCorey
@IAmTimCorey Год назад
It doesn’t. Blazor uses Razor components. Those aren’t the same thing as Razor Pages.
@arthurnamu5770
@arthurnamu5770 3 года назад
Tim, you are an absolute blessing man. Thanks. A question for the next Dev Series, In Desktop we had RDLC and Crystal Reports to design reports. Now that I have moved to Web is there a tool that is as good as these two? I am having a hard time customizing and exporting reports to pdf.
@sergiolindolfo
@sergiolindolfo 3 года назад
I use Telerik Reports, I worked for many years with Crystal Reports and SQLRS, I found in Telerik Reports what I needed, you can do the Reports with the Visual Studio Designer or with the Report Designer (Windows only), but what I like most is Telerik Report Server, where I publish all my reports and then run on my ASP.NET MVC or Blazor Client applications.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
I noted your recommendation by adding it to Tim's list of possible future topics, thanks.
@ozanyasindogan
@ozanyasindogan 3 года назад
Blazor server is not fast at all actually while rendering changes on client. Users will have a lagging feeling if it’s not an intranet application. For dynamic client pages, blazor webassembly should be the way to go. Yes blazor server is much easier to arcihtect but it’s only good for intranets
@IAmTimCorey
@IAmTimCorey 3 года назад
I have not had that experience on the web (running production apps on a cheap web host). It sounds like you had some bad configuration or you were pushing way too much data to the screen somehow. Blazor Server can handle thousands of records on the screen while scrolling with very little issue. Plus, now with .NET 5 and the Virtualize tag, you can have millions of records and yet have a smooth experience.
@allthecommonsense
@allthecommonsense 2 года назад
Probably used an Azure free tier and didn't enable Web sockets, lol.
@sparkyUK
@sparkyUK 2 года назад
Anyone from Classic ASP background now wanting to up-skill? Blazor pages seems the closest match, no?
@IAmTimCorey
@IAmTimCorey 2 года назад
It is a very close match. Another option would be Razor Pages, but Blazor offers a nicer experience.
@sparkyUK
@sparkyUK 2 года назад
@@IAmTimCorey Thank you! Do you have any videos which detail setting up of the web server for Blazor? I understand this isn't simply pointing IIS to a folder anymore.
@94089463
@94089463 3 года назад
Tim: I'm building an intranet application (local web server) for 15 users using Blazor Server. When I try to publish it, it requires SignalR hosting. What's the least expensive way to implement this in a local server? Thank you
@IAmTimCorey
@IAmTimCorey 3 года назад
Unless your web host does not allow web sockets, you should not need separate hosting for SignalR. It just runs on the web server.
@94089463
@94089463 3 года назад
I'll give it a try. Thank you very much for your quick reply!
@94089463
@94089463 3 года назад
@Soy Orbison Well thought. Thank you, Soy.
@Omar.bin.khattab
@Omar.bin.khattab 3 года назад
i am wondered why not your channel reach to 10 million , you deserve it , great job Tim
@IAmTimCorey
@IAmTimCorey 3 года назад
Thank you!
@torrvic1156
@torrvic1156 Год назад
I think because programming is kind of a niche stuff. Tim’s channel is very popular if think about programming as a niche activity.
@MrMoss786
@MrMoss786 2 года назад
Damn web forms is gone, wasted my life learning it.
@IAmTimCorey
@IAmTimCorey 2 года назад
I disagree. WebForms is just a UI. You were learning and using C#, so those C# skills will transfer to other UI frameworks. Being a developer isn't primarily about the UI you know or the framework you use - it is about the logic skills you develop.
@lxc3909
@lxc3909 2 года назад
Thanks for some great info--but, the title includes Razor Pages, which are not covered at all in the video. :[
@krzysztofkrupinski5709
@krzysztofkrupinski5709 3 года назад
Hi! Thank you very much for posting this video as it answers all my questions :)
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for watching! ... and I bet you could find a couple more questions he did not cover. LOL
@viktoralferov2874
@viktoralferov2874 3 года назад
If you do not need SEO - use any you want. But all IT history going to Containers. Immutable "bytes" (not script file) as Container - best choice, imho. Compile before send to Client - for ever )
@IAmTimCorey
@IAmTimCorey 3 года назад
I am not sure what you are trying to communicate here. Containers (I'm assuming Docker containers) just hold a web application. Which type of ASP.NET Core web application you use in a container is up to you. You wouldn't send a container to an end user to run your site. That would be impractical. If you mean you would send them to a customer who used them as their web server, that would work. However, only the image is immutable, not the container. It also does not really protect your sensitive data to be in a container.
@leosilva0411
@leosilva0411 3 года назад
Hey Tim nice video! My question is, what are the techniques that we can use to implement SEO better, since Blazor Web Assemblies, for instance, don't take that in account and just return simple HTML to the search engines. Thanks!
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thank you. I have added this to Tim's list of possible future topics.
@dsipsev
@dsipsev 2 года назад
All went well untill MVC was hit - no real pro's/con's compared to Razor Pages, beyond "it's mostyl legacy". Welp, so are core banking systems in Cobol ... Moving on - all 4 web project types covered in the first half of the video. The second half - Blazor evangelism. I am going to just throw in some random words to end up - Silverlight, ActiveX, Java Applets.
@IAmTimCorey
@IAmTimCorey 2 года назад
MVC doesn't have any real benefits for new development. It was originally great because it was both an API and could create web pages. Now you don't need MVC to do either. So, you can choose if you want it or not. It is definitely useful for legacy development. That wasn't really the point of the video. It isn't about whether you should support existing projects, it was about what you should create new projects in. As for the "Blazor evangelism", I'm not sure what you would expect. It is a new web project type that fills in a lot of gaps that ASP.NET Core had. It is like covering a car manufacturer's lineup when they used to produce just cars and now they produce cars, trucks, and SUVs. Blazor just reduced the dependence on JavaScript for C# developers. That's huge. As for your random words at the end, I'm assuming that's a comparison to Blazor. If so, I would encourage you to actually look at what Blazor is because that's a very apples-to-oranges comparison. Silverlight relied on browsers supporting a third-party plug-in that wanted lots of access to the machine's resources. It was a security risk and it required users to know how to install plug-ins on their browser. It required all browsers to cooperate with Microsoft to keep the browser updates in sync with the plug-in. That wasn't going to work. On the other hand, WebAssembly is an industry standard (not a Microsoft standard). Microsoft is just using that standard (not extending it). Blazor Server uses SignalR, which is actually just a wrapper around web sockets and long polling (again, industry standards). All of Blazor is open source. Oh, and did you know that even after the Silverlight debacle (and it really was one), Microsoft still supported Silverlight until October 2021?
@codyjmathis
@codyjmathis 3 года назад
Tim - can you clarify your statement about web forms here in that you said web forms will not be in .NET core and is basically EOL in Framework. This seems to contradict a newer video you made on VS 2022 by saying .NET 6 and future will be the only frameworks supported in VS 2022 while at the same time VS 2022 provides great new support for displaying web forms content in the designer. Understanding of course web forms will still only run on Windows, can you clarify if web forms will still use Framework or will we be able to target .NET 6? Great work, thanks!
@IAmTimCorey
@IAmTimCorey 3 года назад
That was preview 1. Preview 2 fully supports .NET Framework. No .NET Core for WebForms though.
@trusttours5402
@trusttours5402 2 года назад
Hello, I wanted to build 2 different projects 1. A customized management or Enterprise Software Cloud based (SAAS) 2. Air Ticket booking application (B2B,B2C) with Back office functionality can you tell me which project type to use.
@IAmTimCorey
@IAmTimCorey 2 года назад
There are a lot of factors that go into those decisions. It will need to be you that ultimately makes that decision.
@fadge316
@fadge316 3 года назад
I've been using Blazor server side recently, loving it. Took a while to figure out a lot of the quirks but I really like it
@IAmTimCorey
@IAmTimCorey 3 года назад
Awesome!
@whatwhome6914
@whatwhome6914 3 года назад
I seems like a Razor page app is better than Blazor for an app that has a large number of pages. I am doung an app that has over 50 webpages. I can't imagine how yhat would work in Blazor.
@ghm7093
@ghm7093 2 года назад
@@whatwhome6914 It is a SPA; so the main point is to figure out how to organize your app in terms of "routes". It worth mentioning that not every business/project is suitable for SPA, f.e. public pages or content-centric sites.
@bobclemens8065
@bobclemens8065 3 года назад
What if I have a business model where the state needs to be preserved between call to the server? On each call, I envision that JSON data returned to the client would be processed and the page updated in script. It could all be in an MVC or Razor Pages application, with the model assigned to a Session object to preserve state. Or maybe an SPA with a WebApi back end, but then how to preserve state? Can anyone recommend a configuration for this?
@IAmTimCorey
@IAmTimCorey 3 года назад
Ideally you would use one of the Blazors, since they are stateful (to an extent). If you really want state with MVC or Razor Pages, you can turn that on. Just note that it can cause issues with scaling your site out and how the distribution of clients will work.
@emersonstori
@emersonstori 2 года назад
Very good, many doubts I had. I'm wanting to use Blazor in a project with almost 2000 tables, I don't know if it's suitable for something like that. I will have to find out.
@IAmTimCorey
@IAmTimCorey 2 года назад
Sure. Just remember that humans don't have the ability to comprehend that much information on the screen at one time. Show what they need to make a decision (it is less than you think). Paging, caching, etc. will make your site very responsive.
@X400DYL
@X400DYL 3 года назад
Thanks for the Vid, great as always, I'm sure a while back I saw a video of Blazer Server and Webassemby in the same solution, would this give you the offline support and also PWA? is is something to consider, or not much benefit?
@timothymalahy7880
@timothymalahy7880 2 года назад
Does blazor server require fulltime internet connection? Could a user load a page on internet, input what they need while offline, and then press 'submit' after they have internet?
@IAmTimCorey
@IAmTimCorey 2 года назад
Yes, it requires a full-time connection (SignalR is a WebSocket connection). If you want offline access, you can use Blazor WebAssembly, which can do that as a Progressive Web Application (PWA).
@adriansalcudean7657
@adriansalcudean7657 3 года назад
Hi, Tim! I really hope you can give me an advice. I want to start a new project, exactely a website for selling products, where users can create new account, login, publish new ad etc. Wich c# web application should i use? I was thinking at MVC, but i need an advice from a professional like you. Thanks!
@IAmTimCorey
@IAmTimCorey 3 года назад
It all depends on the project, what you want to do with it, and more. There isn't one right answer that fits those criteria.
@rliy001
@rliy001 3 года назад
I'm a bit confused by your statement re web forms being c# coming down from the server to client side. Is that really correct? My understanding was what's coming down to the client was still html/js etc
@IAmTimCorey
@IAmTimCorey 3 года назад
Not sure what part of the video you are referring to, but WebForms are server-side meaning they get built on the server and then sent to the client (the HTML & CSS). Most ASP.NET Core web projects are server-side. The exception is Blazor WebAssembly (fully client-side) and Blazor Server (which is server-side but it also has a bit of JavaScript on the client that makes it act like a client-side app).
@SayWhaaaaaaaaaaaaaaaaaaaaaaat
@SayWhaaaaaaaaaaaaaaaaaaaaaaat 3 года назад
Use all in one : D
@IAmTimCorey
@IAmTimCorey 3 года назад
That is a nice option to be able to blend them.
@foobarmaximus3506
@foobarmaximus3506 8 месяцев назад
Client side apps are fine if you don't value your Intellectual Property and are making a nice, new Hello World! app. If you are doing ANYTHING meaningful, do it on the server. Common sense.
@IAmTimCorey
@IAmTimCorey 8 месяцев назад
Have you seen the modern web? Angular, React, and Vue. These are the most popular web frameworks today. They are all client-side web applications. They do just fine protecting intellectual property. You just need to use an API. If you think that your UI is your intellectual property, you are mistaken. Anything on the web, including server-side web projects, will expose the HTML, CSS, and JavaScript used on the site no matter what you do. The only way you would be protecting your intellectual property with a server-side web framework is if you are mixing your business logic and data access into your UI layer. I know that's a common thing WebForms developers do, but it doesn't make it smart and it isn't a feature of WebForms. It is a poor understanding of good project architecture.
@enciphered7650
@enciphered7650 2 года назад
Was it intraserver or interserver ?
@IAmTimCorey
@IAmTimCorey 2 года назад
Here you go (this is an affiliate link): www.interserver.net/r/589892
@lenardbartha6722
@lenardbartha6722 3 года назад
A lot of companies who build components to these projects still have more for MVC vs Blazor. However they are growing...
Далее
What is the Future of Blazor? Should I Learn Blazor?
22:32
Шоколадная девочка
00:23
Просмотров 84 тыс.
КОТЯТА В ОПАСНОСТИ?#cat
00:36
Просмотров 1,1 млн
What Web Framework Should I Use For My C# Project?
20:07
Brutally honest advice for new .NET Web Developers
7:19
Razor Pages vs MVC vs Blazor
6:30
Просмотров 859
Is Blazor Better than React?
14:25
Просмотров 49 тыс.
ASP.NET Core Series: MVC and Razor Pages
27:37
Просмотров 21 тыс.
Шоколадная девочка
00:23
Просмотров 84 тыс.