Cause something like Parallelism, using 10 cores instead of one, is not always saving ressources or money, it only saves runtime. If you say more explicit: There are less instructions executed, maybe you get them.
I believe most developers haven't built and hosted their own creations and seen the results of their code run in terms of performance under load. While debugging new code locally, performance is rarely even an afterthought. After "Build succeeded" they might do one smoke test down the happy path, and then (in the absence of any QA dept) it's pretty much "ship it!" and let it get tested in production. Performance is often only addressed when there are bottlenecks and hotspots.
I agree. I've been kicking around ideas to demonstrate that but haven't arrived at a good enough idea yet. The problem is that it is a balancing act. Premature optimization is also a bad thing, so making sure people optimize their app but not spend so much time on it that they make a bad application in the name of theoretical speed.
Performance is money but so is dev time and maintenance. If you dont need the performance benefits then maintenance and readability of the code is more important. So I agree and disagree with the notion that performance is money.
@@csexton07- Performance is ALWAYS money. If you can't write a high-performance application in a short amount of time, you might want to consider another line of work.
It is really good for working with UI changes. If you are trying to update business logic, it gets harder. You also cannot change code that fires when the page loads, since the page has already loaded.
If they dont do anything for .NET9 and just improve (or make it work since basically works only good for CSS that is in .css file😅) they done it a lot for productivity. Irony is that Blazor should bring productivity boost for .NET developers for building web (easy learning curve...) but developing with it is slow because of constant rebuilds and restarting the application.
After watching this video, I upgraded .Net, VS, and EF. It went smooth except my Winform app started getting an exception when connecting to SQLExpress. I had to add Encrypt=false in the SQL connection string to get around the error.
Thanks Tim. Great to hear your enthusiasm for .net8 especially Blazor, it really looks like Microsoft have done a great job on it and enjoyed watching it develop with the previews, can't wait for tomorrow. I've got a project I'm building right now that's going to get the full conversion :)
Great! Just to be clear, though, the Blazor Server course is not being updated. I am releasing a new course that covered everything in Blazor in .NET 8. That includes Blazor Server, Blazor WebAssembly, Blazor Server-Side Rendered, Stream Rendering, Auto, and more.
Your videos are excellent. I have a doubt, I have not been able to find an example with Maui or Wpf, starting with .Net 6.0, and printing reports. Can you tell me where to find an example? Thanks for sharing.
How do people keep up with all these updates and figure out what to do with them? I mean, do companies have a formal team process with data collection, triage, sorting, filtering evaluating, or is it all just individual, going by gut feeling and using social media to feed you new information, or somewhere in between? I suppose there is a lot of variation from company to company and person to person, but has anyone done any work to figure out if there are any patterns to what works and/or what are the best practices for staying current in technology?
nice video as always Tim, i had a question, am pretty new in the .NET world and am trying out a few things, when using Microsoft Identity, what you consider as a better way to do authorization, using claims or roles. Thank you
Thanks, I like your contents. As this was a summary video, I hope you can finish it in a short time window and talk about the explanation in your detailed tutorial video.
There are so many new stuff to Blazor. Tim, it’s time to create a brand new Blazor course (I bought your Blazor course which was based on .Net 5 and since then you added some patch videos for the new .net 6 features). Look forward to it.
I did create a new Blazor course. It releases tomorrow. This one is called Blazor From Start to Finish, and it includes Blazor Server Side Rendered (SSR), Blazor Server, Blazor WebAssembly, Razor Class Libraries, Stream Rendering, and LOTS more.
Thanks for the video. I knew that there will be some changes for Blazor in .NET 8 but of what You told today I got super hyped on those changes. My projects are getting yet another upgrade after the Dapper upgrade from last week monday episode (hundreds of lines of code gone or moved to the different locations - works the same as it used to :-) thanks again). Especially excited about the hybrid possibilities. I decided to go with the blazor server project and in some cases in my client copmany there is a network connection problem and it's a bit annoying for them. But with the new blazor auto rendering I am hoping to fix it without rewriting my entire app and creating new one. Looking forward for the new videos. Great job.
I think that will be a great option. Just note that when the components change over to WebAssembly, they don't have direct access to the database. You will need to have them connect through an API to get the data.
I already purchased the ~$100 Blazor Start to Finish course. Is that going to be updated with the new material? Or am I expected to purchase the course again to see the new stuff?
Thanks Tim for this great video. Actually I am taking the C# MasterCourse and enjoying so far. I am from the old guard that used to work with VB but wanted to move forward with new technology and current trends. I don't know much about ASP .Net core nor Blazor but now I have a better understand on what is this about. Seems WinForms is not longer the trend but interesting see where all of this is going to. Thanks again.
A whole new course. The Blazor Server course specifically covered Blazor Server. While most of the content is still fully relevant in .NET 8, it doesn't really make sense to try to update the course. Also, the new course isn't just Blazor Server. It is Blazor Server, Blazor SSR, Blazor WebAssembly, Razor Class Libraries, and more. It is absolutely a super-set of the content from the Blazor Server course.
I purchased your Blazor server course about a month ago, and I'm currently at 54% completion. I wonder if the new contract will include the latest .NET version since the current course is for .NET 3.5. Your course is excellent, but I would love to learn about the latest .NET version. It's frustrating to spend $97 on a course only to find out a month later that a new version of the course will be released. I had been waiting a month to make my purchase, and now I'm concerned that I won't be learning the latest version. Please LMK if you are planning to upgrade your course. Thank you.
We are not planning on upgrading the Blazor Server course. The new Blazor course is a super-set of content, meaning it doesn't just cover Blazor Server, it also covers Blazor WebAssembly, Blazor SSR, Razor Class Libraries, and more. Just to be clear, the content that you are getting in the Blazor Server course hasn't changed. What you bought is still the same. It covers from .NET Core 3.1 up through .NET 7. You can contact the helpdesk ( help@iamtimcorey.com ) to figure out if there is something you can do, but I do want to point out that the new course will cost more than what you paid for your current course. You might be better off keeping what you already have.
I love this content, but feedback..I am about 23 minutes in, and need more visuals. Bullets on the screen or something. It's all audio and that's tricky. I've got the captions on just to help make it stick.
Thanks for the feedback. I am a bit confused, though. I did put bullets on the screen for the entire video. Are you saying you would like more bullets for when I describe a specific point (for example, I spent 90 seconds talking about auto in Blazor)?
Hey, is the C# MasterCourse worth it as a starting pad now that we have C12 and .NET 8? I am looking for a decent summary of the basics and the course seems like a good idea, but I am wondering if I should wait for newer material?
Absolutely. First, practically no job available now will involve working with .NET 8. The vast majority of jobs will involve an earlier version. Second, .NET 8 content will be added to the C# Mastercourse in the future. The course intentionally has content from various versions of .NET including Framework, though, because you need to know that in order to work in the real world and have the best chance of getting a job.
What does out of support mean? Does that require apps build in .net 5 to update? Or is it fine to keep feature complete desktop applications on .net 5? Probably some of the nuget packages I use are most likely not updated for anything after version 5 and unfortunately will never be. Rewriting for other nuget packages would be a major headache.
Out of support means that Microsoft is no longer updating it (including security fixes) and they will not help you with your app if it should break because of a possible .NET issue. Also, while they have legacy SDK and Runtimes available, web hosts probably won't have them installed. That means you cannot use the built-in version of .NET on Azure or other hosts. You would need to package your app and include the framework in order to deploy it.
Tim, I have a question. Next year Microsoft end support for VS 22 for Mac, it’s also ending suport for Maui,Xamarin for iOS,iPasOS? How to create new app on iOS without VS and how to sign this app ?
Master, I'm concerned about compatibility. If I take a course in .NET 6 or 5, will the skills still be relevant to the current versions, .NET 8 and C# 12? Would a course on .NET 6 or 5 still provide a strong foundation, even with .NET 8 and C# 12 being the latest versions?
Absolutely. First, .NET rarely takes things away anymore. Meaning, if you learn how to do something in .NET 6, it will most likely work in .NET 8 even if there is a new way of doing things. For instance, we now have top level statements (Program.cs without any namespace, class, or Main method). However, we can still add that back in if we want. The bigger thing to remember, though, is that businesses most often do not run on the latest version of .NET. That means you should definitely learn older versions (including .NET Framework) in order to be comfortable working in various environments.
They do have developers, they are just spread thin. Thats why dropping VS for Mac was actually good for MAUI - they were the ones doing VS updates as well.
Hi Tim, Thank you for all the helpful videos. I posted a question but couldn't find the clip where I post it. I am upgrading from .NET4.5 to .NET6 or .NET8. Can I ask the different between upgrading to 6 or 8? Thanks.
I would recommend going to 8 so that you have support for 3 years. As for the difference, I don't believe it will be a big difference in terms of the upgrade.
I really appreciate your reply, Tim and will go for NET8 then. Would you suggest .NET upgrade assistant for starting my tasks of upgrading? Do you have any videos about converting .NET4.5 to .NET8, or any resources will be deeply appreciated. Thanks@@IAmTimCorey
WPF only just got OpenFolderDialog (17 years late), and MS regrettably favour WPF over WinForms, so I wouldn't hold your breath for much new WinForms stuff. (Shame, as with the current editor it's basically unusable).
Thank you for the video, I was actually very impressed by Blazor in .net 7 already, can't wait to touch the .net 8 verson! I have to admit though, I am a bit scared of the combined template for Blazor. I am a bit afraid to not know, what exactly downloads the client machine. For example, I might not want to let user download some business logic in form of dependency to his local machine plus I can't imagine how interesting and maybe painfull sharing states between components with different modes now may be. When I think about all of this, I am not even sure if it will relieve the server from all the rendering he has to usually done (in SSR), which I always considered the biggest plus of client sided apps.
You still control if it is server mode or wasm mode where you want to. It's only wasm if you tell it wasm or auto. It's true that in an SPA, or wasm in Blazor, it does offload the server work but it takes longer to download and you never know what speed of processor you end up on at the client. Faster in this case is more about known performance of the server and faster downloads.
You get full control. It won’t work as WASM without being marked as such (or as Auto). The way to develop a UI is to move all of the logic outside of it anyway. As for relieving the server, that shouldn’t be a concern in most cases. If it is, you can move more components to WASM to reduce the load.
How does the different rendering modes affect PWAs? I have a current Blazor Hosted Wasm project that my client has his employees install to their phones as a PWA. If I upgrade it to Net 8 can they still do that while I take advantage of differing render modes for optimization? (Edited to fix PWA)
I'm assuming you mean PWA (progressive web app). In that case, you would not be able to use the new modes because PWAs only work with WASM projects (I believe - I'm going to experiment to be sure). There is a stand-alone project type in .NET 8 for Blazor WASM, though.
@@KeithPrice-OurBusinessHero- I meant hosted WASM installed as PWA. (it wouldn't let me edit my reply -- oh! That's because I make that reply from my phone, which was logged into a different account.)
These Blazor changes sound pretty awesome, still need to see how stable it is but it really sounds promising the auto render especially is cool. Could you run a server-side rendered blazor server on hosted a hosted linux site like Linode?
Yes, you can. It will take quite a bit of configuration, but that's typical when you are using something like Linode. It is super-simple with Azure, but unless you use one of your 10 free web applications, you will have to pay for it.
Just how advanced does your course get? I have allot of personal experience with blazor and created a full blazor application called mockdoor (an enterprise scale self learning mocking and proxy tool mainly for microservice environments) I used asp core hosted wasm and learned allot but being 100% self taught from the existing documentation and my day jobs transferable knowledge as a backend dev. But i suspect i missed stuff and i often hit complex scenarios where i would have benefited from a advanced guide on the most complex bits and features of blazor and the structures and architecture for enterprise scale fromtend blazor
We get complicated but I definitely don't cover the very complex edge cases. I tried to cover the 90-95% that everyone would need to know. I do cover a bit with integrating it into the rest of your application, but I don't go in-depth there. For instance, I cover authentication and authorization, but I don't explain the entire identity system (that's an ASP.NET Core thing).
The breakneck release schedule for .NET and C# will do that to you, especially for devs actually building things instead of just being perpetually in learning mode. Putting things into practice takes time away from learning how to put those things into practice. The cycle is vicious.
Not a single video about .net maui. I still don't understand why? Is it c# related? Yes it is. Is it .net related? Yes it is. As everyone knows, thats the most exciting thing now days. Don't get me wrong, I'm just curious, I'm your subscriber from the beginning, I've learned a lot from you and had alot of your courses. ✌️
I've done a number of videos on MAUI: www.youtube.com/@IAmTimCorey/search?query=maui I haven't done deep-dives on it yet because I've been waiting for the stability improvements in .NET 8. Plus, mobile is a whole, tricky platform unto itself. There is a LOT to cover.
From what I've been hearing, that won't be the case. Not unless the person who names Xboxes gets loose. If that happens, we might get .NET One and .NET One X.
I'm glad that .NET Framework 4.8 has much longer support than any of these other .NET core frameworks. I am also glad that .NET Framework has a much lower learning curve, and that for regular, line of business apps, it's a perfect fit. It may not be the best choice for cutting edge apps that need all the latest features of the new frameworks, but MOST line of business apps are much simpler, and don't need all those things anyway. All they do is track names and addresses and print reports, and for that, .NET framework is a perfect fit, in my opinion.
More like they love using the tools available to them on the web to provide even more power to the developers. This isn't a reinvention of AJAX. This is a way to use JavaScript in new and interesting ways.
The implementation of Interceptor is a non-starter for me, as it is far to cumbersome and fragile. Why didn't MS give us an implementation like the one in MSUnit\XUnit, which enables us to override a virtual with the desired functionality?
Thanks for this explanation. I still see a ton of confusion about it. I think some confusion is that it is assumed that the LTS (three-year support) are inherently more "stable" or "production ready". I don't feel like the team works that way. For example, Blazor "United" is coming in this release, but to me, it feels a bit unfinished (I'll know more this week). The same thing happened with Minimal APIs, which I feel were really "finished" in .NET 7. So oddly enough, I think unintentionally, the even numbered releases have had new features that some felt were "not quite ready." I think that in today's world it is okay to grab onto the release train and hang on, updating each year. I just haven't felt that any particular release is "more or less stable", either by design or by implementation. It seems to me the team completes what it can each year moving forward. That said, you are right about performance. It seems like that's coming for free each year.
Yeah, I've covered the LTS/STS cycle a few times because of the confusion. As for Blazor, it seems rather polished in all of my testing. I did run into a few bugs, but those bugs have already been fixed for the release. The transition from Server to WebAssembly is great. I think the biggest thing will be getting people trained in how it works, since it does have so many moving parts.
I can't enjoy any of the new features because VS2022 v17.8 was SOOOO SLOOOOOOOW that I'm having to roll back. It's made my machine unworkable, when it was completely fine beforehand. Can't believe that Microsoft rolled it out like this. Really bad! :(
Why did you mention entity framework updates when that is supposed to be completely useless. I see from you videos, a company is never supposed to use entity framework because its too slow. Dapper is always supposed to be faster. If that is the case, then companies is supposed to always use dapper in every case for sql server databases which make entity framework completely useless.
None of those are sentiments that I have said or agree with. Entity Framework is not useless and Dapper is not always the right choice. As I have said repeatedly, as developers we need options. If there was "one right way" then we could just write one app for every situation and be done. That's not how the world works. There isn't one right vehicle for every situation (or even specific situations). For instance, why does NASCAR have different vehicle types? Shouldn't there be one best one? The reason is because life is complex and different situations, even if they are similar, can warrant different solutions. What I have said repeatedly about Entity Framework is that it is an excellent framework. It is very powerful and can be a great solution. However, it is also very dangerous. It is incredibly easy to get wrong and, if you do, you can mess up your application for life. I have seen that happen a LOT. That is why I say that you should be an expert in both Entity Framework and SQL before you consider using it in production. My biggest complaint is that people teach Entity Framework as an alternative to understanding SQL, which is a MASSIVE mistake. In terms of speed, Dapper is often faster, but not always. EF can be as fast as Dapper, especially if you configure it correctly (don't just accept the defaults and understand what your LINQ expressions do to create the underlying queries). I do much prefer Dapper because it separates the work into the correct locations. SQL does the work that SQL does best and C# does the work that C# does best. When you cross those up, you invite problems. If a DBA finds that a query is performing poorly, it can be very difficult to track down if you are using EF. Even if you do track it down, the DBA will need to modify C# source code to improve the performance and then those changes need to be deployed. If you are using Dapper, it is much easier to track down the issue and, if you are using stored procedures, it is simple for the DBA to improve the performance without needing to know C# or redeploy the app.
I’m providing tons of content for free, and even reducing the number of ads that TH-cam includes, but if I mention a paid product that funds these free videos, I’m being a paid salesman? Or are you say that by talking about what is coming and what to look out for is being a salesman?
@hendrykhoza47822 There are quick 10-minute videos that Tim Corey offers that may be more suitable to your attention span if you don't prefer a more detail-oriented approach.
@@IAmTimCoreydon't bother with this guy, you do great and honest work and I don't see any reason to condemn enthusiasm for what are exciting news for any .NET dev
@@IAmTimCorey This is the type of comment that you ignore because its just one guy. I would only be concerned if it got a significant amount of likes. Let it roll and stay happy!
It will run slower in .net 8, guaranteed. If it was already well-written, MS will find a way to crap it up and slow it down. Believe it or not. It's your time and money.
You do realize this is verifiably false, right? Every update, Microsoft does benchmarking against previous versions (and you can replicate the results). Every update comes with significant speed improvements. The same exact code will run faster in .NET then it will in the .NET Framework. In case you are actually interested in the truth, here is an article on the performance improvements in .NET 8. It also has links to the performance improvements in the previous versions of .NET as well: devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/
My company has the SAME web forms app that we've been using for 10 years now, with minor tweaks. We are using something like net 4.5 LOL How much money did we save since our app is fast, reliable and maintainable without problems. We never upgrade anything unless we have to. If it ain't broke, we leave it alone. And THAT is how we make money in the software business!
This sounds great in theory. Don't touch anything and it will run forever. The problem is that you are missing something really important: the rest of the world is changing. The Internet is changing. The way systems are exploited is changing. Operating systems are changing. How people consume the web is changing. Hardware is changing. The only thing not changing is your code. That's like saying you are going to continue using the same Model T delivery vehicles for your business because they are reliable and you don't need to change anything. Your fleet of vehicles might not change, but the rest of the city infrastructure has changed around them. What you are doing by not upgrading is you are playing with fire. It won't burn you yet, but when it does, it will be a disaster. And the problem is, by staying in place, you have made it nearly impossible to modernize your application. The longer you wait, the more of a complete rewrite your code will need. If you get into that crisis point where you have to move quickly, it will be too late. The companies that continued to do deliveries with horse and buggy didn't survive long once people shifted to cars.
The concept of "performance is money" in the cloud is something I feel many developers don't think about.
Cause something like Parallelism, using 10 cores instead of one, is not always saving ressources or money, it only saves runtime. If you say more explicit: There are less instructions executed, maybe you get them.
I believe most developers haven't built and hosted their own creations and seen the results of their code run in terms of performance under load.
While debugging new code locally, performance is rarely even an afterthought. After "Build succeeded" they might do one smoke test down the happy path, and then (in the absence of any QA dept) it's pretty much "ship it!" and let it get tested in production. Performance is often only addressed when there are bottlenecks and hotspots.
I agree. I've been kicking around ideas to demonstrate that but haven't arrived at a good enough idea yet. The problem is that it is a balancing act. Premature optimization is also a bad thing, so making sure people optimize their app but not spend so much time on it that they make a bad application in the name of theoretical speed.
Performance is money but so is dev time and maintenance. If you dont need the performance benefits then maintenance and readability of the code is more important. So I agree and disagree with the notion that performance is money.
@@csexton07- Performance is ALWAYS money. If you can't write a high-performance application in a short amount of time, you might want to consider another line of work.
Hot reload improvements, huh? I have never gotten that to work. Thanks for the video. Great content.
It is really good for working with UI changes. If you are trying to update business logic, it gets harder. You also cannot change code that fires when the page loads, since the page has already loaded.
If they dont do anything for .NET9 and just improve (or make it work since basically works only good for CSS that is in .css file😅) they done it a lot for productivity. Irony is that Blazor should bring productivity boost for .NET developers for building web (easy learning curve...) but developing with it is slow because of constant rebuilds and restarting the application.
After watching this video, I upgraded .Net, VS, and EF. It went smooth except my Winform app started getting an exception when connecting to SQLExpress. I had to add Encrypt=false in the SQL connection string to get around the error.
Thanks for sharing!
This version looks mature enough for large internet projects. We have held off using VS for a large project until now...
It does.
6:22 into this and you are finally going to talk about "what's new" ... brilliant
Thanks Tim. Great to hear your enthusiasm for .net8 especially Blazor, it really looks like Microsoft have done a great job on it and enjoyed watching it develop with the previews, can't wait for tomorrow. I've got a project I'm building right now that's going to get the full conversion :)
Awesome!
I just want to say that .NET MAUI "had a bit of reputation for being a little bit buggy" is an understatement! :D Thank you for the video!
You're welcome!
I'm still teaching 6. I've got to admit, I kind of hate the pace since core launched, but there are some amazing new things coming along.
Yeah, I can understand that.
:) just went for the all access pass earlier today :p, can’t wait for the new courses
Great!
I am really happy that the blazor course is updated RIGHT when it launches. LOVE IT Tim !
Great! Just to be clear, though, the Blazor Server course is not being updated. I am releasing a new course that covered everything in Blazor in .NET 8. That includes Blazor Server, Blazor WebAssembly, Blazor Server-Side Rendered, Stream Rendering, Auto, and more.
@@IAmTimCorey will you update the Azure AD B2C Course as well? I have not yet looked if it still works but the Blazor part was really awsome!
Your videos are excellent. I have a doubt, I have not been able to find an example with Maui or Wpf, starting with .Net 6.0, and printing reports. Can you tell me where to find an example? Thanks for sharing.
When you mentioned Data Validation and CSV file validation, which library were you referring to and what are the most significant changes?
This and Geddy Lee's book being released tomorrow. Christmas in November :)
Not hanging with the .NET crowd these days, but updoot because Geddy
It does feel that way.
Can you do a short video on converting our current .Net 7 Blazor Server apps to .Net 8?
Right click project properties change to .net 8 and rebuild
I do have a quick video on the topic, yes.
@@IAmTimCorey do you have a link?
It isn't out yet. I'm releasing the .NET 8 videos once .NET 8 gets released, so it should come out in the next week or so.
@@IAmTimCorey Thanks!
Incredible master, knowing all of these things makes me realize how powerful and complete .NET is, and it makes me love this technology even more.
Great!
This video encourages me to stop learning React at all and move to Blazor full time since me development stack is already .NET
Having done both, IMHO Blazor beats React. Not that React is bad or anything but Blazor is way simpler for 99% of instances I'd say. Plus c# :)
I’m definitely a big fan of it for C# developers.
Blazor has been excellent so far. Such a nice way to build sites.
Great!
hahaha you're loving your Blazor I love it, another great video, thanks Tim
You are welcome.
How do people keep up with all these updates and figure out what to do with them?
I mean, do companies have a formal team process with data collection, triage, sorting, filtering evaluating, or is it all just individual, going by gut feeling and using social media to feed you new information, or somewhere in between?
I suppose there is a lot of variation from company to company and person to person, but has anyone done any work to figure out if there are any patterns to what works and/or what are the best practices for staying current in technology?
Thanks for this overview, Tim ... very helpful!
You are welcome.
Great video, thanks! But I've missed coding examples so much!
I cover those in later videos.
Any Native ways of Displaying PDF in Maui .net 8 C#12?
nice video as always Tim, i had a question, am pretty new in the .NET world and am trying out a few things, when using Microsoft Identity, what you consider as a better way to do authorization, using claims or roles. Thank you
Claims is the more common way of doing things these days.
With the continued evolution of C# and .Net are there any plans to revisit/update the C# Mastercourse in the future?
I keep the Mastercourse up to date, so I’ll probably add a couple of lessons on the new content.
Thanks, I like your contents. As this was a summary video, I hope you can finish it in a short time window and talk about the explanation in your detailed tutorial video.
What we *really* need is a better code formatter for razor components.
They are working on it.
Blazor auto rendering has my interest.
It is awesome.
There are so many new stuff to Blazor. Tim, it’s time to create a brand new Blazor course (I bought your Blazor course which was based on .Net 5 and since then you added some patch videos for the new .net 6 features). Look forward to it.
I did create a new Blazor course. It releases tomorrow. This one is called Blazor From Start to Finish, and it includes Blazor Server Side Rendered (SSR), Blazor Server, Blazor WebAssembly, Razor Class Libraries, Stream Rendering, and LOTS more.
please make a video on .NET containers with some CLEAN arch
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/
Thanks for the video. I knew that there will be some changes for Blazor in .NET 8 but of what You told today I got super hyped on those changes. My projects are getting yet another upgrade after the Dapper upgrade from last week monday episode (hundreds of lines of code gone or moved to the different locations - works the same as it used to :-) thanks again). Especially excited about the hybrid possibilities. I decided to go with the blazor server project and in some cases in my client copmany there is a network connection problem and it's a bit annoying for them. But with the new blazor auto rendering I am hoping to fix it without rewriting my entire app and creating new one. Looking forward for the new videos. Great job.
I think that will be a great option. Just note that when the components change over to WebAssembly, they don't have direct access to the database. You will need to have them connect through an API to get the data.
I already purchased the ~$100 Blazor Start to Finish course. Is that going to be updated with the new material? Or am I expected to purchase the course again to see the new stuff?
Email help@iamtimcorey.com and they will walk you through the options. They will take care of you.
Cool, the Blazor Auto-rendering feature sounds very promising.
It is really amazing.
Thanks Tim for this great video. Actually I am taking the C# MasterCourse and enjoying so far. I am from the old guard that used to work with VB but wanted to move forward with new technology and current trends. I don't know much about ASP .Net core nor Blazor but now I have a better understand on what is this about. Seems WinForms is not longer the trend but interesting see where all of this is going to. Thanks again.
Thanks for sharing!
Are you going to update the current blazor server start to finish course or have a whole new course?
A whole new course. The Blazor Server course specifically covered Blazor Server. While most of the content is still fully relevant in .NET 8, it doesn't really make sense to try to update the course. Also, the new course isn't just Blazor Server. It is Blazor Server, Blazor SSR, Blazor WebAssembly, Razor Class Libraries, and more. It is absolutely a super-set of the content from the Blazor Server course.
I purchased your Blazor server course about a month ago, and I'm currently at 54% completion. I wonder if the new contract will include the latest .NET version since the current course is for .NET 3.5. Your course is excellent, but I would love to learn about the latest .NET version.
It's frustrating to spend $97 on a course only to find out a month later that a new version of the course will be released.
I had been waiting a month to make my purchase, and now I'm concerned that I won't be learning the latest version.
Please LMK if you are planning to upgrade your course.
Thank you.
We are not planning on upgrading the Blazor Server course. The new Blazor course is a super-set of content, meaning it doesn't just cover Blazor Server, it also covers Blazor WebAssembly, Blazor SSR, Razor Class Libraries, and more. Just to be clear, the content that you are getting in the Blazor Server course hasn't changed. What you bought is still the same. It covers from .NET Core 3.1 up through .NET 7.
You can contact the helpdesk ( help@iamtimcorey.com ) to figure out if there is something you can do, but I do want to point out that the new course will cost more than what you paid for your current course. You might be better off keeping what you already have.
@IAmTimCorey thank you for clarify, I thought that the blazor server course has changed.
Your curse is the best 🙏😄, I learned from u a lot. Thank u
I love this content, but feedback..I am about 23 minutes in, and need more visuals. Bullets on the screen or something. It's all audio and that's tricky. I've got the captions on just to help make it stick.
Thanks for the feedback. I am a bit confused, though. I did put bullets on the screen for the entire video. Are you saying you would like more bullets for when I describe a specific point (for example, I spent 90 seconds talking about auto in Blazor)?
Hey, is the C# MasterCourse worth it as a starting pad now that we have C12 and .NET 8? I am looking for a decent summary of the basics and the course seems like a good idea, but I am wondering if I should wait for newer material?
Absolutely. First, practically no job available now will involve working with .NET 8. The vast majority of jobs will involve an earlier version. Second, .NET 8 content will be added to the C# Mastercourse in the future. The course intentionally has content from various versions of .NET including Framework, though, because you need to know that in order to work in the real world and have the best chance of getting a job.
What does out of support mean? Does that require apps build in .net 5 to update? Or is it fine to keep feature complete desktop applications on .net 5?
Probably some of the nuget packages I use are most likely not updated for anything after version 5 and unfortunately will never be. Rewriting for other nuget packages would be a major headache.
Out of support means that Microsoft is no longer updating it (including security fixes) and they will not help you with your app if it should break because of a possible .NET issue. Also, while they have legacy SDK and Runtimes available, web hosts probably won't have them installed. That means you cannot use the built-in version of .NET on Azure or other hosts. You would need to package your app and include the framework in order to deploy it.
Tim, I have a question. Next year Microsoft end support for VS 22 for Mac, it’s also ending suport for Maui,Xamarin for iOS,iPasOS? How to create new app on iOS without VS and how to sign this app ?
It isn't ending support for MAUI, it is ending support for Xamarin (MAUI's predecessor). You can use VS Code to work on Mac with MAUI.
Thank you for answer ❤@@IAmTimCorey
Master, I'm concerned about compatibility.
If I take a course in .NET 6 or 5, will the skills still be relevant to the current versions, .NET 8 and C# 12?
Would a course on .NET 6 or 5 still provide a strong foundation, even with .NET 8 and C# 12 being the latest versions?
Absolutely. First, .NET rarely takes things away anymore. Meaning, if you learn how to do something in .NET 6, it will most likely work in .NET 8 even if there is a new way of doing things. For instance, we now have top level statements (Program.cs without any namespace, class, or Main method). However, we can still add that back in if we want. The bigger thing to remember, though, is that businesses most often do not run on the latest version of .NET. That means you should definitely learn older versions (including .NET Framework) in order to be comfortable working in various environments.
How is stride game engine written in c# if c# has garbage collection and I read game engine need to be written in c++ because It uses pointers
github.com/stride3d/stride/wiki/On-Garbage-Collection
Thanks
MAUI's issues reminds me of FrontPage 98 all over again. It has its work cut out for it if it's going to be enterprise-level software.
It does have a lot of work to do. Hopefully they get it done.
@@IAmTimCorey hopefully they finally hire some devs which they don't have since the launch
They do have developers, they are just spread thin. Thats why dropping VS for Mac was actually good for MAUI - they were the ones doing VS updates as well.
Hi Tim, Thank you for all the helpful videos. I posted a question but couldn't find the clip where I post it. I am upgrading from .NET4.5 to .NET6 or .NET8. Can I ask the different between upgrading to 6 or 8? Thanks.
I would recommend going to 8 so that you have support for 3 years. As for the difference, I don't believe it will be a big difference in terms of the upgrade.
I really appreciate your reply, Tim and will go for NET8 then. Would you suggest .NET upgrade assistant for starting my tasks of upgrading? Do you have any videos about converting .NET4.5 to .NET8, or any resources will be deeply appreciated. Thanks@@IAmTimCorey
Will you cover new rendering in WPF? That is in hardware?
Possibly. It uses the hardware better over RDP.
Will you cover what's new in WinForms .NET 8?
WPF only just got OpenFolderDialog (17 years late), and MS regrettably favour WPF over WinForms, so I wouldn't hold your breath for much new WinForms stuff. (Shame, as with the current editor it's basically unusable).
Thank you for the video, I was actually very impressed by Blazor in .net 7 already, can't wait to touch the .net 8 verson! I have to admit though, I am a bit scared of the combined template for Blazor. I am a bit afraid to not know, what exactly downloads the client machine. For example, I might not want to let user download some business logic in form of dependency to his local machine plus I can't imagine how interesting and maybe painfull sharing states between components with different modes now may be. When I think about all of this, I am not even sure if it will relieve the server from all the rendering he has to usually done (in SSR), which I always considered the biggest plus of client sided apps.
You still control if it is server mode or wasm mode where you want to. It's only wasm if you tell it wasm or auto. It's true that in an SPA, or wasm in Blazor, it does offload the server work but it takes longer to download and you never know what speed of processor you end up on at the client. Faster in this case is more about known performance of the server and faster downloads.
You get full control. It won’t work as WASM without being marked as such (or as Auto). The way to develop a UI is to move all of the logic outside of it anyway. As for relieving the server, that shouldn’t be a concern in most cases. If it is, you can move more components to WASM to reduce the load.
That is amazing, thank you for the response! Can't wait to try it out!
thank you, but isn't it called MS Ignite?
That’s the other conference at the same time.
How does the different rendering modes affect PWAs? I have a current Blazor Hosted Wasm project that my client has his employees install to their phones as a PWA. If I upgrade it to Net 8 can they still do that while I take advantage of differing render modes for optimization?
(Edited to fix PWA)
I'm assuming you mean PWA (progressive web app). In that case, you would not be able to use the new modes because PWAs only work with WASM projects (I believe - I'm going to experiment to be sure). There is a stand-alone project type in .NET 8 for Blazor WASM, though.
Oops. Yes that's what I meant. It would sure be cool if we could do a hosted WASM that combined some of the optimized rendering modes.
@@KeithPrice-OurBusinessHero- I meant hosted WASM installed as PWA. (it wouldn't let me edit my reply -- oh! That's because I make that reply from my phone, which was logged into a different account.)
Hi Tim, so should I always use auto render mode for new blazor components?
Or just when i have interactivity in my page?
Just when you need interactivity. That way, you don't add the overhead of either option when you don't need it.
@@IAmTimCorey Thank you very much.
These Blazor changes sound pretty awesome, still need to see how stable it is but it really sounds promising the auto render especially is cool. Could you run a server-side rendered blazor server on hosted a hosted linux site like Linode?
Yes, you can. It will take quite a bit of configuration, but that's typical when you are using something like Linode. It is super-simple with Azure, but unless you use one of your 10 free web applications, you will have to pay for it.
Just how advanced does your course get?
I have allot of personal experience with blazor and created a full blazor application called mockdoor (an enterprise scale self learning mocking and proxy tool mainly for microservice environments)
I used asp core hosted wasm and learned allot but being 100% self taught from the existing documentation and my day jobs transferable knowledge as a backend dev. But i suspect i missed stuff and i often hit complex scenarios where i would have benefited from a advanced guide on the most complex bits and features of blazor and the structures and architecture for enterprise scale fromtend blazor
We get complicated but I definitely don't cover the very complex edge cases. I tried to cover the 90-95% that everyone would need to know. I do cover a bit with integrating it into the rest of your application, but I don't go in-depth there. For instance, I cover authentication and authorization, but I don't explain the entire identity system (that's an ASP.NET Core thing).
As always, great :)
Thanks!
Major version are .NET 6, .NET 7, .NET 8
Yes. Was there a question about that?
Damn, must have missed C# 11
On the other hand, I still use Visual Studio 6 on Windows 98 so what do i know
It came with .NET 7.
@@oldm9228 Legendary version!
The breakneck release schedule for .NET and C# will do that to you, especially for devs actually building things instead of just being perpetually in learning mode. Putting things into practice takes time away from learning how to put those things into practice. The cycle is vicious.
Thank you for the video
You are welcome.
Point 16.... about damn time!
😂
Did you mean May 2025 for Net 7?
No, it ends in May of 2024. The STS versions only have a support window of 18 months. .NET 7 was released in November of 2022.
fantastic news
Ok! Ok ok... I will finally dedicate some time to learning Blazor :)
They’ve made it pretty irresistible.
Thanks!
You are welcome.
Thanks for the great vid! Such an exciting time!
You are welcome.
Thank you
You're welcome.
Video starts at 06:52
upgraded my dotnet 5 project to dotnet 8 today...only 161 errors to fix lol
Hopefully you have 160 or less tomorrow.
sadly theres too many breaking changes between the versions, it would be faster and better off just creating and learning MAUI :/@@IAmTimCorey
Not a single video about .net maui. I still don't understand why?
Is it c# related? Yes it is.
Is it .net related? Yes it is.
As everyone knows, thats the most exciting thing now days.
Don't get me wrong, I'm just curious, I'm your subscriber from the beginning, I've learned a lot from you and had alot of your courses. ✌️
I've done a number of videos on MAUI: www.youtube.com/@IAmTimCorey/search?query=maui
I haven't done deep-dives on it yet because I've been waiting for the stability improvements in .NET 8. Plus, mobile is a whole, tricky platform unto itself. There is a LOT to cover.
I can almost guarantee that .NET 10 will be called .NET X or something, Microsoft loves the letter X
From what I've been hearing, that won't be the case. Not unless the person who names Xboxes gets loose. If that happens, we might get .NET One and .NET One X.
I'm glad that .NET Framework 4.8 has much longer support than any of these other .NET core frameworks. I am also glad that .NET Framework has a much lower learning curve, and that for regular, line of business apps, it's a perfect fit. It may not be the best choice for cutting edge apps that need all the latest features of the new frameworks, but MOST line of business apps are much simpler, and don't need all those things anyway. All they do is track names and addresses and print reports, and for that, .NET framework is a perfect fit, in my opinion.
I'm glad you enjoy it.
21:40 guess they love reinventing AJAX?
More like they love using the tools available to them on the web to provide even more power to the developers. This isn't a reinvention of AJAX. This is a way to use JavaScript in new and interesting ways.
Microsoft needs to chill with major update cycle 😭😭
Every two years isn’t a fast cycle. It is only fast if you also incorporate the STS versions as well (I covered that in the video).
The implementation of Interceptor is a non-starter for me, as it is far to cumbersome and fragile.
Why didn't MS give us an implementation like the one in MSUnit\XUnit, which enables us to override a virtual with the desired functionality?
Thanks for this explanation. I still see a ton of confusion about it. I think some confusion is that it is assumed that the LTS (three-year support) are inherently more "stable" or "production ready". I don't feel like the team works that way. For example, Blazor "United" is coming in this release, but to me, it feels a bit unfinished (I'll know more this week). The same thing happened with Minimal APIs, which I feel were really "finished" in .NET 7. So oddly enough, I think unintentionally, the even numbered releases have had new features that some felt were "not quite ready." I think that in today's world it is okay to grab onto the release train and hang on, updating each year. I just haven't felt that any particular release is "more or less stable", either by design or by implementation. It seems to me the team completes what it can each year moving forward.
That said, you are right about performance. It seems like that's coming for free each year.
Yeah, I've covered the LTS/STS cycle a few times because of the confusion. As for Blazor, it seems rather polished in all of my testing. I did run into a few bugs, but those bugs have already been fixed for the release. The transition from Server to WebAssembly is great. I think the biggest thing will be getting people trained in how it works, since it does have so many moving parts.
I can't enjoy any of the new features because VS2022 v17.8 was SOOOO SLOOOOOOOW that I'm having to roll back. It's made my machine unworkable, when it was completely fine beforehand. Can't believe that Microsoft rolled it out like this. Really bad! :(
Interesting. I haven't had a problem on either of my machines. Did you file a bug report?
Why did you mention entity framework updates when that is supposed to be completely useless. I see from you videos, a company is never supposed to use entity framework because its too slow. Dapper is always supposed to be faster. If that is the case, then companies is supposed to always use dapper in every case for sql server databases which make entity framework completely useless.
None of those are sentiments that I have said or agree with. Entity Framework is not useless and Dapper is not always the right choice. As I have said repeatedly, as developers we need options. If there was "one right way" then we could just write one app for every situation and be done. That's not how the world works. There isn't one right vehicle for every situation (or even specific situations). For instance, why does NASCAR have different vehicle types? Shouldn't there be one best one? The reason is because life is complex and different situations, even if they are similar, can warrant different solutions.
What I have said repeatedly about Entity Framework is that it is an excellent framework. It is very powerful and can be a great solution. However, it is also very dangerous. It is incredibly easy to get wrong and, if you do, you can mess up your application for life. I have seen that happen a LOT. That is why I say that you should be an expert in both Entity Framework and SQL before you consider using it in production. My biggest complaint is that people teach Entity Framework as an alternative to understanding SQL, which is a MASSIVE mistake.
In terms of speed, Dapper is often faster, but not always. EF can be as fast as Dapper, especially if you configure it correctly (don't just accept the defaults and understand what your LINQ expressions do to create the underlying queries).
I do much prefer Dapper because it separates the work into the correct locations. SQL does the work that SQL does best and C# does the work that C# does best. When you cross those up, you invite problems. If a DBA finds that a query is performing poorly, it can be very difficult to track down if you are using EF. Even if you do track it down, the DBA will need to modify C# source code to improve the performance and then those changes need to be deployed. If you are using Dapper, it is much easier to track down the issue and, if you are using stored procedures, it is simple for the DBA to improve the performance without needing to know C# or redeploy the app.
Mr Corey be like: Hmmm yes relevant video, views go brrrrr harder then an A10
:) :) :)
👍🏻
Bro... how much did Microsoft pay you... just outline the Technology without being a salesman
I’m providing tons of content for free, and even reducing the number of ads that TH-cam includes, but if I mention a paid product that funds these free videos, I’m being a paid salesman?
Or are you say that by talking about what is coming and what to look out for is being a salesman?
@hendrykhoza47822 There are quick 10-minute videos that Tim Corey offers that may be more suitable to your attention span if you don't prefer a more detail-oriented approach.
@@IAmTimCoreydon't bother with this guy, you do great and honest work and I don't see any reason to condemn enthusiasm for what are exciting news for any .NET dev
@@IAmTimCorey This is the type of comment that you ignore because its just one guy. I would only be concerned if it got a significant amount of likes. Let it roll and stay happy!
It will run slower in .net 8, guaranteed. If it was already well-written, MS will find a way to crap it up and slow it down. Believe it or not. It's your time and money.
You do realize this is verifiably false, right? Every update, Microsoft does benchmarking against previous versions (and you can replicate the results). Every update comes with significant speed improvements. The same exact code will run faster in .NET then it will in the .NET Framework. In case you are actually interested in the truth, here is an article on the performance improvements in .NET 8. It also has links to the performance improvements in the previous versions of .NET as well: devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/
My company has the SAME web forms app that we've been using for 10 years now, with minor tweaks. We are using something like net 4.5 LOL How much money did we save since our app is fast, reliable and maintainable without problems. We never upgrade anything unless we have to. If it ain't broke, we leave it alone. And THAT is how we make money in the software business!
This sounds great in theory. Don't touch anything and it will run forever. The problem is that you are missing something really important: the rest of the world is changing. The Internet is changing. The way systems are exploited is changing. Operating systems are changing. How people consume the web is changing. Hardware is changing. The only thing not changing is your code. That's like saying you are going to continue using the same Model T delivery vehicles for your business because they are reliable and you don't need to change anything. Your fleet of vehicles might not change, but the rest of the city infrastructure has changed around them.
What you are doing by not upgrading is you are playing with fire. It won't burn you yet, but when it does, it will be a disaster. And the problem is, by staying in place, you have made it nearly impossible to modernize your application. The longer you wait, the more of a complete rewrite your code will need. If you get into that crisis point where you have to move quickly, it will be too late. The companies that continued to do deliveries with horse and buggy didn't survive long once people shifted to cars.
I don't want or need ANY of these C# 12 "upgrades". None. This is all useless crap.
Good thing they are all optional.
Thank you for the video