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. :)
@IAmTimCorey3 жыл бұрын
Excellent!
@jessecavada30153 жыл бұрын
Some people would say “You are in the wrong job if you are building for the web while hating JavaScript.”
@maximeumbra72352 жыл бұрын
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.
@ChamuMatumbura2 жыл бұрын
Once I got hooked up to Blazor, I kissed goodbye to JS.
@MrSurfsAlot Жыл бұрын
@@ChamuMatumbura is it just me or is there literally still some things you pretty much HAVE to use JS for?
@christiandiomangay51073 жыл бұрын
during college i got bucky roberts at my back but now its tim corey ..
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thank you for continuing your learning with Tim.
@mememonster23703 жыл бұрын
@@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
@AlThePal783 жыл бұрын
I use to love bucky :)
@Exozik2 жыл бұрын
This really helped me a lot grasping all the essentials differences and advantages of each project type. Very well done Tim!
@tomthelestaff-iamtimcorey75972 жыл бұрын
Thanks for watching and for the endorsement.
@ghm70932 жыл бұрын
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!
@masterflitzer2 жыл бұрын
yeah most intranet apps in my company I wouldn't want to do as spa because it's just not suitable
@rendellgood3 жыл бұрын
Amazing content with practical answers to so many questions I come up with. Thank you for these high quality tutorials/informative videos!
@IAmTimCorey3 жыл бұрын
You're very welcome!
@aaronbrightware3 жыл бұрын
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.
@andywalter74263 жыл бұрын
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-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your thoughts!
@aaronbrightware3 жыл бұрын
@@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!
@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 Жыл бұрын
Thank you!
@Omar.bin.khattab3 жыл бұрын
i am wondered why not your channel reach to 10 million , you deserve it , great job Tim
@IAmTimCorey3 жыл бұрын
Thank you!
@torrvic115611 ай бұрын
I think because programming is kind of a niche stuff. Tim’s channel is very popular if think about programming as a niche activity.
@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 Жыл бұрын
You still can, you just need to do so with an API, but it is more complicated than other options.
@torrvic115611 ай бұрын
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!
@IAmTimCorey11 ай бұрын
That's a pretty good framework for decision-making.
@GameplayDexter11 ай бұрын
Thank you for this summary. Did you left out MVC consciously?
@torrvic115611 ай бұрын
@@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.
@karis75393 жыл бұрын
One of the biggest reasons to learn C# is this channel
@IAmTimCorey3 жыл бұрын
I’m glad you feel that way.
@cissemy2 жыл бұрын
That's right.
@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 Жыл бұрын
You are welcome.
@pedrodesanti6266 Жыл бұрын
your channel is the best for learning c# and dotnet, i am experienced with unity3d and now im trying to expand my knoledge of the ecosystem around it and your channel is pure gold
@IAmTimCorey Жыл бұрын
Thank you.
@skewty2 жыл бұрын
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).
@IAmTimCorey2 жыл бұрын
Thanks for the suggestion.
@oh2txb18 Жыл бұрын
What would you say is better? Legitimately trying explore options at the moment.
@bryanplum90613 жыл бұрын
Hey man, thank´s for this video. I´m from Brasil, and learn a lot in you chanel ! Keep doing this work!
@IAmTimCorey3 жыл бұрын
Glad to hear that!
@gavingreenhorn3 ай бұрын
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.
@IAmTimCorey3 ай бұрын
You are welcome.
@searcey2 жыл бұрын
Thank you! Loving using C# for everything with Blazor Pages and .NET 6. Keep up the great work!
@IAmTimCorey2 жыл бұрын
Thanks!
@fadge3163 жыл бұрын
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
@IAmTimCorey3 жыл бұрын
Awesome!
@whatwhome69142 жыл бұрын
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.
@ghm70932 жыл бұрын
@@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.
@emanuelfaisca17833 жыл бұрын
Thank you for this! I just got a technical challenge and this info helped me to plan what to do.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for looking to Tim for you help.
@mhmrezaramezani4777 Жыл бұрын
Thanks for that video! that was good and clear. I'm lazy to change to blazer but this video encourages me.
@IAmTimCorey Жыл бұрын
You can do it!
@LuigiZambetti3 жыл бұрын
Tim do you make a full playlist for a Blazor Server web application in the future?
@tomthelestaff-iamtimcorey75973 жыл бұрын
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 - kzbin.infosearch?query=blazor
@cjm38013 жыл бұрын
+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.
@sriram1510922 жыл бұрын
Easily one of the best videos for a beginner (Both for Web Dev. & Blazor) !!
@IAmTimCorey2 жыл бұрын
Thanks!
@paulminshall87932 жыл бұрын
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.
@kmills-swimmin2 жыл бұрын
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.
@IAmTimCorey2 жыл бұрын
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.
@charliewong90932 жыл бұрын
Awesome! What a good question, thanks for your introduction.
@IAmTimCorey2 жыл бұрын
You are welcome.
@LiveMahs3 жыл бұрын
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.
@IAmTimCorey3 жыл бұрын
Best of luck!
@troymitchel47909 ай бұрын
Hey Tim, could you make an updated version of this video comparing .Net 8 technologies?
@IAmTimCorey9 ай бұрын
It is coming, but not right away, though. I want to get some things built with Blazor first.
@objectaware52963 жыл бұрын
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.
@objectaware52963 жыл бұрын
@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.
@allthecommonsense2 жыл бұрын
Lol. Imply a problem but don't provide even a few example details. That's helpful.
@jackma757010 ай бұрын
very comprehensive answer, thanks Tim
@IAmTimCorey10 ай бұрын
You are welcome.
@chrisklecker2 жыл бұрын
Thank you. I was researching what environment and architecture I might need for an application I am building. Sounds like Blazor Web Assemblies it is. Now time to learn it. :D
@IAmTimCorey2 жыл бұрын
Glad it was helpful!
@aaronvancuren79463 жыл бұрын
Wow, first year in the industry and you just blew my mind and solved an issues I was having with React and individual account authentication.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Great to hear. Check out his YT home page and this playlists for plenty more content.
@krzysztofkrupinski57093 жыл бұрын
Hi! Thank you very much for posting this video as it answers all my questions :)
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching! ... and I bet you could find a couple more questions he did not cover. LOL
@PerryCodes3 жыл бұрын
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!
@IAmTimCorey3 жыл бұрын
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.
@PerryCodes3 жыл бұрын
@@IAmTimCorey Woah!! You brought a Model M to a membrane and rubber domes fight!
@pw.702 жыл бұрын
Excellent explanations - thanks Tim.
@tomthelestaff-iamtimcorey75972 жыл бұрын
Thanks for supporting Tim
@pw.702 жыл бұрын
@@tomthelestaff-iamtimcorey7597 - Oh no! You must be Tim's Tom! ;o)
@tomthelestaff-iamtimcorey75972 жыл бұрын
@@pw.70 Truly!
@yusiff2 жыл бұрын
Hey, Tim! Thanks for the video. It was very informative.
@IAmTimCorey2 жыл бұрын
You are welcome.
@FiveNineO3 жыл бұрын
The stack is getting quite confusing if I'm honest
@tomthelestaff-iamtimcorey75973 жыл бұрын
All the more reason to stay up to date with Tim!
@TheCameltotem3 жыл бұрын
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.
@TheCameltotem3 жыл бұрын
@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.
@SuperDre743 жыл бұрын
@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.
@johnmadsen373 жыл бұрын
@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.
@angmathew43773 жыл бұрын
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.
@IAmTimCorey3 жыл бұрын
Yep, Blazor Server and Blazor WebAssembly are two different project types. I am glad you learned something new.
@waliqadri Жыл бұрын
Thank you so much for this video. amazing video. I love Microsoft Technologies.
@IAmTimCorey Жыл бұрын
You are welcome.
@bolbittu3 жыл бұрын
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.
@IAmTimCorey3 жыл бұрын
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.
@bolbittu3 жыл бұрын
@@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.
@IAmTimCorey3 жыл бұрын
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: kzbin.info/www/bejne/bnWxmJemnbGpl8k 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
@ericberman39652 жыл бұрын
Great video! Your explanation was a huge help
@IAmTimCorey2 жыл бұрын
I am glad it was so helpful.
@paulgehrman5 күн бұрын
Blazor WASM is my preferred choice. Way, way better than MVC, and orders of magnitude better than Angular.
@IAmTimCorey5 күн бұрын
Thanks for sharing!
@LilPozzer2 жыл бұрын
What about a video explaining what (auto) mapper is better to use?
@IAmTimCorey2 жыл бұрын
Thanks for the suggestion. In general, Automapper is probably the way to go.
@srinivasmantha5994 Жыл бұрын
Excellent introductory presentation.
@IAmTimCorey Жыл бұрын
Thanks!
@jonbordon34063 жыл бұрын
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?
@victorene36083 жыл бұрын
My thoughts exactly.
@IAmTimCorey3 жыл бұрын
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.
@kevinmungame18692 жыл бұрын
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
@tomahawk53572 жыл бұрын
@@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.
@josephmoore74032 жыл бұрын
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.
@AholicWiki3 жыл бұрын
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.
@michelchaghoury8703 жыл бұрын
gr8 vide like always keep going tnx a lot for your efforts
@tomthelestaff-iamtimcorey75973 жыл бұрын
We appreciate you making Tim a part of your development journey
@MusicForHourss2 жыл бұрын
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
@IAmTimCorey2 жыл бұрын
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.
@branislavpetrovic74863 жыл бұрын
Excellent video Tim! Thanks!
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your thoughts!
@dawidbiell3 жыл бұрын
Good explenation. Solved a lot my concerns.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your thoughts!
@arthurnamu57703 жыл бұрын
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.
@sergiolindolfo3 жыл бұрын
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-iamtimcorey75973 жыл бұрын
I noted your recommendation by adding it to Tim's list of possible future topics, thanks.
@AlThePal782 жыл бұрын
What is the difference between a DTO and a ViewModel and how do you use them?
@ChargedPulsar2 жыл бұрын
This video is amazing! Thank you Corey. This is how an education video should be. Clear and informative! Just to the point.
@IAmTimCorey2 жыл бұрын
Thank you!
@the-nasim3 жыл бұрын
Frontend: Next.js Backend: ASP.NET Core Perfect combination 😍
@tomthelestaff-iamtimcorey75973 жыл бұрын
Well... That is an option 😉
@SayWhaaaaaaaaaaaaaaaaaaaaaaat3 жыл бұрын
If u uave blazor, why would use inefficient javascript?
@the-nasim3 жыл бұрын
@@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.
@sachinambre94513 жыл бұрын
Which project type will you suggest to build real time web application like stock trading application?
@JoePiotti3 жыл бұрын
Blazor server is perfect for that.
@mysteryman80073 жыл бұрын
@@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.
@sirajshaikh39403 жыл бұрын
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-iamtimcorey75973 жыл бұрын
Thanks for the recommendation. I have added it to Tim's list of viewer suggestions for videos.
@SaadMuhammadAmin2 жыл бұрын
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?
@IAmTimCorey2 жыл бұрын
Offline access. That's the big one.
@andywalter74263 жыл бұрын
I had an experience one time where I built a server side blazor application and it was actually a little slow when I was using the free hosting from azure. When I showed off the page to somebody since I wanted somebody else to eventually host, they said they would have to reject it because they knew it took too much server processing power which would shut down their other sites. I then did the web assembly version of the same app and except for the initial download size, it was actually much faster. In this situation, since I can't afford any data access, all the data was actually from embedded resource but since interfaces was used, then there was an option to eventually use a database. I have found many cases where a person can have a web assembly app with no server or any database. If the data is mostly static (from embedded resource), then a server is not even necessary. Plus, even with blazor server side, a database is not free anyways and the storage for the free account is really limited. I used local storage a lot even though the data can go away at any moment. Plus I have some web apps I created that had to run offline because I have no internet on my device so that ended up being a good choice.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for sharing from your experiences.
@getsmartpaul2 жыл бұрын
Do blazer client apps run in mobile apps on iPhone and android?
@IAmTimCorey2 жыл бұрын
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.
@leosilva04113 жыл бұрын
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-iamtimcorey75973 жыл бұрын
Thank you. I have added this to Tim's list of possible future topics.
@jhbonarius3 жыл бұрын
Interesting that you get asked this question a lot. I think people that ask this question are not practicing enough. It's like asking "which fruit is the best". Or your comparison is better "which tool type is the best".
@IAmTimCorey3 жыл бұрын
It comes from not actually having used them all, which is understandable. If you haven't used any yet, you will want to know which one is the best.
@jhbonarius3 жыл бұрын
@Soy Orbison true, true. But it's like if you read things like the Buddha's teachings: often people come to the Buddha with a question, and often the Buddha makes that person realize that that question is not important at that moment, and there is an underlying thing that one should focus on. I'm quite active on stack overflow, and often you see questions like "how can I optimize this code" by people who don't seem to yet understand the fundamentals of programming. Imho they should focus on other things first
@jhbonarius3 жыл бұрын
@Soy Orbison I was thinking of a second similarity, which you actually see quite often: people starting playing electric guitar and asking things like "which are the best pickups" and "I want to buy a $5000 guitar, which should I buy". While they should first focus on learning to play the guitar. Maybe join a band. See if they will actually like it for longer then a year (because many people actually drop the hobby within).
@ozanyasindogan3 жыл бұрын
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
@IAmTimCorey3 жыл бұрын
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.
@allthecommonsense2 жыл бұрын
Probably used an Azure free tier and didn't enable Web sockets, lol.
@emersonstori2 жыл бұрын
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.
@IAmTimCorey2 жыл бұрын
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.
@LukeAvedon2 жыл бұрын
Excellent overview!
@IAmTimCorey2 жыл бұрын
Thanks!
@jeffkennedy22692 жыл бұрын
I would like to go with WASM but I still need to hit web services, not API's, is that a problem?
@IAmTimCorey2 жыл бұрын
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.
@bardus_hobus2 жыл бұрын
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?
@attilaguba8562 жыл бұрын
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!
@viktoralferov28743 жыл бұрын
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 )
@IAmTimCorey3 жыл бұрын
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.
@TomRaf3 жыл бұрын
Nice explanation, thanks a lot!
@IAmTimCorey3 жыл бұрын
You are welcome.
@portiseremacunix2 жыл бұрын
I will learn a bit more on Blazor, haha!
@IAmTimCorey2 жыл бұрын
Great.
@laurenzvien3 жыл бұрын
Great vid, Tim. I now got a clarification on the differences of these frameworks. On a different note, will you have a video covering microservices? Currently have a project and was thinking if I should do microservice as more services will be coming in the future.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thank you. I have added this to Tim's list of possible future topics.
@laurenzvien3 жыл бұрын
@@tomthelestaff-iamtimcorey7597 thank you!
@karthikc82303 жыл бұрын
Great job. One video, introduces the five type of projects. As I have go through most of the video, I have one suggestion. It is good to have, some text animation along with the video. Especially when you are explaining about the n-categories (topic like this), if we missed something where are in middle, then the text may guide us. Thank you.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your Tip!
@theodoredariotis72263 жыл бұрын
Very educational, suscribed.
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thank you!
@lxc39092 жыл бұрын
Thanks for some great info--but, the title includes Razor Pages, which are not covered at all in the video. :[
@fredycorea49013 жыл бұрын
Excellent video, thanks!
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching!
@emcattaneo Жыл бұрын
Thanks!
@IAmTimCorey Жыл бұрын
You are welcome.
@segelsonproduction3 жыл бұрын
Thanks for some good information!
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for growing your skills with this video.
@jordanjobes41152 жыл бұрын
you are the man!
@IAmTimCorey2 жыл бұрын
Thanks!
@lenardbartha67223 жыл бұрын
A lot of companies who build components to these projects still have more for MVC vs Blazor. However they are growing...
@kevinmungame18692 жыл бұрын
Blazor server is the best, for way bigger project I would likely consider razor pages
@IAmTimCorey2 жыл бұрын
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.
@ibrahimfarah7383 жыл бұрын
Thanks Tim great video
@IAmTimCorey3 жыл бұрын
Glad you enjoyed it.
@wilsono29402 жыл бұрын
I really loved this show!
@IAmTimCorey2 жыл бұрын
I'm glad!
@ibrahimhussain32483 жыл бұрын
Awesome analogy there Tim :)
@tomthelestaff-iamtimcorey75973 жыл бұрын
Thanks for watching and sharing your thoughts!
@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 Жыл бұрын
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.
@NicholasAllen-uu9qc3 ай бұрын
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?
@IAmTimCorey3 ай бұрын
Have you seen the new Blazor Web App in .NET 8 (which mixes both and more): kzbin.info/www/bejne/rZLPp2akgbl9a8k As for WebAssembly, it updates itself in the background automatically.
@kourosh234 Жыл бұрын
Poor "Blazor Server side" is so underestimated. I wonder why?!
@cjm38013 жыл бұрын
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!
@IAmTimCorey3 жыл бұрын
That was preview 1. Preview 2 fully supports .NET Framework. No .NET Core for WebForms though.
@Timlaare3 жыл бұрын
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?
@IAmTimCorey3 жыл бұрын
The fastest for your situation will probably be Razor Pages. They are super-quick.
@STUPIDYOUTUBE_HIDINGMSGS2 жыл бұрын
Hi Tim, is Razor and/or MVC in danger of getting phased out like web forms, in maybe 3 years, due to Blazor support? cheers
@IAmTimCorey2 жыл бұрын
No, I don’t think so. They each serve a purpose still, plus they are web standard designs, unlike WebForms.
@PerryCodes3 жыл бұрын
16:19 - if you don't already have more that one project then either your project is in the "small utility" realm or you probably have A LOT of refactoring to do in order to get that thing Clean, Testable and SOLID-compliant.
@IAmTimCorey3 жыл бұрын
For Blazor WebAssembly, the second project is another UI project (an API) as opposed to just a class library.
@PerryCodes3 жыл бұрын
@@IAmTimCorey Ahh. Thank you for the clarification.
@lowrez16463 жыл бұрын
Nice summary Tim. So it sounds like mostly it's a combo of Web-API + Razor Pages these days where the Razor page is basically hosting/containing the front-end JS client (aka, Angular, React, or even html/css + pure js etc). Is that a correct assumption? That's kinda where I landed recently doing a small one-off time-tracking app for our family biz.
@tomthelestaff-iamtimcorey75973 жыл бұрын
We hope Tim's videos continue to help you grow your skills to help support that family business.
@lowrez16463 жыл бұрын
@@tomthelestaff-iamtimcorey7597 I guess that's a 'yes' then to my question... ? Thank you though either way.
@IAmTimCorey3 жыл бұрын
No, the answer to the question is that it depends. If I were starting today, I would probably use Blazor. Lest context switching between languages.
@lowrez16463 жыл бұрын
@@IAmTimCorey Yeah, for pure greenfield I'm kinda ready to go Blazor (where as a year back I felt it wasn't quite there yet); beyond the context switching I am personally 100% tired of the insane complexity of the front-end stack. It feels like current JS UX approach has 'jump the shark' and I've actually gone back to writing vanilla JS for my small projects. Anyway, thanks for the clarification Tim, appreciate it.
@X400DYL3 жыл бұрын
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?
@trxe4203 жыл бұрын
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?
@waleedeissa22703 жыл бұрын
Thanks Tim. Could you please tell me the name of the cheap hosting service you mentioned at the end of the video?
@IAmTimCorey3 жыл бұрын
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).
@bobclemens80653 жыл бұрын
I use this one: also very inexpensive and great service: winhost.com
@kirillzlobin71354 ай бұрын
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 :)
@IAmTimCorey4 ай бұрын
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.
@kirillzlobin71354 ай бұрын
@@IAmTimCorey Thank you for such a detailed answer. You are the C# Legend
@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 Жыл бұрын
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.
@cyrildouglas92623 жыл бұрын
Tim, which one do you prefer (Angular, Vue or React)?
@kevincordell95393 жыл бұрын
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.
@cyrildouglas92623 жыл бұрын
@@kevincordell9539 I move to web apps soon, and sure I give an angular test, thanks for stating that.
@IAmTimCorey3 жыл бұрын
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.
@cyrildouglas92623 жыл бұрын
@@leeroy1986 Thank you so much for the clarification.
@cyrildouglas92623 жыл бұрын
@@IAmTimCorey Thanks so much, your point of view always makes things easier.
@marcusmaunula50183 жыл бұрын
Another great Video.
@IAmTimCorey3 жыл бұрын
Thanks!
@chrisl80732 жыл бұрын
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.
@stephenwalker49893 жыл бұрын
Is there a project so I can use a .net language to target a wasm file (and ideally the js hooks) to use as an alternate to things like assembly script?
@JoePiotti3 жыл бұрын
Blazor server is da bomb. I have been using it since it came out. I never want to deal with angular again.
@IAmTimCorey3 жыл бұрын
I really enjoy it too.
@trusttours54022 жыл бұрын
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.
@IAmTimCorey2 жыл бұрын
There are a lot of factors that go into those decisions. It will need to be you that ultimately makes that decision.