Latest / DevQuestions with Tim Corey / 003 What is the Future of .NET? Is .NET Framework Dead? Is .NET Core Dead?
Transcript
- 0:00SPEAKER_01: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_01: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_01: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_01: Now here's your host, expert developer and online educator, Tim Corey.
- 0:24SPEAKER_00: What's the future of.NET?
- 0:27SPEAKER_00: Is dot net framework just dead?
- 0:29SPEAKER_00: Is.NET Core dead?
- 0:31SPEAKER_00: Is.NET 5 the way to go?
- 0:34SPEAKER_00: What are all these different frameworks and how do they fit together?
- 0:39SPEAKER_00: Those are some of the questions we're going to answer on this episode of DevQuestions.
- 0:45SPEAKER_00: My name is Tim Corey, and it's my goal to make learning C sharp easier.
- 0:49SPEAKER_00: Now sometimes that requires coding videos, but sometimes there's questions around the coding that need answered.
- 0:57SPEAKER_00: And that's what this series is all about.
- 0:59SPEAKER_00: If you like this type of thing, or if you're interested in C sharp coding in general, hit the subscribe button down below.
- 1:05SPEAKER_00: Make sure you hit that bell note bell icon, whatever it is, get notified.
- 1:10SPEAKER_00: Okay?
- 1:11SPEAKER_00: Also, hit the like button if you like this video.
- 1:14SPEAKER_00: So dot net 5 is what's coming.
- 1:18SPEAKER_00: And actually,.NET 6 is coming right behind that.
- 1:21SPEAKER_00: So.NET 5 is coming out in September of 2020, somewhere around there.
- 1:27SPEAKER_00: And then.NET 6 is 2021, around the same time frame.
- 1:32SPEAKER_00: So the question has come up well, with that unification of.NET, and that's one of the things it's doing, is it's going to unify in the.NET 5 or.NET 6 time frame, we're going to unify all of.NET under one.NET.
- 1:48SPEAKER_00: Okay?
- 1:48SPEAKER_00: So the question is, well, is dot net core then dead?
- 1:52SPEAKER_00: Should we not learn.NET Core?
- 1:55SPEAKER_00: And the answer is no.NET Core is the next step towards.NET 5.
- 2:02SPEAKER_00: And so that'll be merged in with Xamarin.
- 2:05SPEAKER_00: Now one of the questions that comes out of that is what about.NET Framework?
- 2:10SPEAKER_00: Should I just stay on.NET Framework for now because it'll emerged in a.NET 5 and we've all fine?
- 2:16SPEAKER_00: No, you shouldn't.
- 2:17SPEAKER_00: You should get off.NET framework when you can.
- 2:20SPEAKER_00: The.NET framework is not merging in the.NET 5.NET framework has stopped right where it's at.
- 2:28SPEAKER_00: It's not going to have any further development done on it except for potentially some bug fixes for security concerns.
- 2:36SPEAKER_00: Not bug fixes necessarily even for features.
- 2:40SPEAKER_00: Alright it's been declared basically feature complete and done.
- 2:44SPEAKER_00: Now that raises the next question there's a lot of questions surrounding this topic.
- 2:49SPEAKER_00: The next question is okay so then I shouldn't do have anything to do with.NET framework I should avoid it and I have to get everything off it.
- 3:00SPEAKER_00: No.
- 3:01SPEAKER_00: And that I know that's a little confusing.
- 3:03SPEAKER_00: The.NET framework is still a great platform to have your code on.
- 3:10SPEAKER_00: It's getting long-term supported meaning it's still supported even though there's no new changes coming to it.
- 3:18SPEAKER_00: So you can still use it in a production environment with the support of Microsoft, with the support of other developers for a long time to come.
- 3:28SPEAKER_00: Now if you're doing new development I would encourage you to get on the latest version of.NET currently that's.NET.NET Core I think it's 3.2 is officially the number for it 3.1, 3.2.
- 3:46SPEAKER_00: That's the latest version right now.
- 3:48SPEAKER_00: When dot net 5 comes out I'll encourage you to start new development in.NET 5.
- 3:54SPEAKER_00: Always start with the latest version that's production ready.
- 3:58SPEAKER_00: That does not mean that right now you should write.NET 5 code except in testing to figure out how it's going to work in the future kind of possibly or to help out the development team or for just fun.
- 4:14SPEAKER_00: But otherwise for production applications use the latest production ready version.
- 4:20SPEAKER_00: The long-term support version right now is.NET Core 3.1 that's the one to be long term supported.
- 4:28SPEAKER_00: So that's the one I'd recommend for production applications that are new.
- 4:32SPEAKER_00: But for existing applications.NET framework based for example they're still supported at that.NET framework version now if you can upgrade them to.NET Core now.
- 4:49SPEAKER_00: Now I've done a few videos on upgrading the.NET Core in fact the Timco Retail Manager series we designed that entire series around starting with a.NET framework application that's a regular line of business application that you might find in the real world.
- 5:07SPEAKER_00: And then we intentioned it in.NET Framework so that we could upgrade it to.NET Core and see how that upgrade process went because that's a great skill to have right now.
- 5:18SPEAKER_00: I also have a full course on upgrading to.NET Core.
- 5:22SPEAKER_00: It's important to learn that skill because I really encourage you if you can take your.NET framework applications and upgrade them.NET Core.
- 5:34SPEAKER_00: Now the reason why is there's a couple reasons why.
- 5:38SPEAKER_00: One.NET Core is faster than dotnet framework when running the same C sharp code.
- 5:47SPEAKER_00: Now it depends on which C sharp code you have how much faster it's not a one size fits all this is how much faster it is.
- 5:55SPEAKER_00: But you'll see around a 30% increase in speed of your application in general for a.NET framework to.NET Core upgrade changing no other code.
- 6:08SPEAKER_00: Now you're going to have to change some code or tweak it possibly in order to get to work with.NET Core, but that's not what we're talking about here.
- 6:15SPEAKER_00: We're talking about the same C sharp code.
- 6:18SPEAKER_00: Now code that C sharp code is practically the same C sharp code as you'll find in.NET Core.
- 6:26SPEAKER_00: I did a video on comparing.NET Core and.NET Framework and that confused some people because I took an MVC project in.NET Framework and MVC project in.NET Core and I compared the differences and people said well yeah but you're comparing a a web application or a specific web we want to see what the difference is in the actual framework.
- 6:49SPEAKER_00: Well from a developer's perspective there isn't much of one the same C sharp code how you write an if statement in C in.NET framework is the same as.NET Core.
- 7:00SPEAKER_00: In fact in the the upgrade videos I've done the biggest part of the upgrade is changing the CS Proj file.
- 7:09SPEAKER_00: When you change that file sometimes with simpler applications that's all you have to do and went from framework to.NET Core.
- 7:18SPEAKER_00: So the differences aren't about the code for the most part for about 95% of cases.
- 7:26SPEAKER_00: The difference is how that code is is compiled how it's built what powers it so moving a.NET core doesn't have to be this redo everything project.
- 7:40SPEAKER_00: It's just a matter of finding the things are not.NET core compatible and instead getting those replacement versions.
- 7:49SPEAKER_00: So moving a.NET core is possible and I would encourage it.
- 7:54SPEAKER_00: Even though.NET framework is long-term supported it's not getting new updates.
- 7:59SPEAKER_00: It is feature complete but it's not getting new updates which means that things like hand on the GDPRs request for accepting cookies on websites that's built right into.NET Core.
- 8:13SPEAKER_00: It's not in the.NET framework.
- 8:15SPEAKER_00: So you have to write that code yourself.
- 8:18SPEAKER_00: So improvements in how we do SSL enforcing SSL as the the required way of transmitting web application data across the wire.
- 8:29SPEAKER_00: That's built right into.NET Core.
- 8:31SPEAKER_00: We have to do a few more tweaks in.NET framework there's just things make it easier in.NET Core.
- 8:39SPEAKER_00: So it's important to move but you also get a lot of benefits in moving okay so that also sets you up then for.NET 5.NET 5 comes out there will be less but there will be somewhat of an upgrade process to that.
- 8:56SPEAKER_00: Going from.NET Core will be a whole lot easier than going from dot net framework.
- 9:02SPEAKER_00: Now you're jumping two major frameworks.
- 9:06SPEAKER_00: So I would encourage you do a jump now and then it'll be a lot easier to transition to the next level if you want to okay so dot net framework is not dead.NET Core is the way to go right now going forward.NET 5 has a bright new future okay so we're getting better the unification of dot net in the 5 slash 6 timeframe is going to be very valuable.
- 9:44SPEAKER_00: That's coming to the unified.NET platform there's a lot of decisions still made so we can't answer every question about how that's going to work and what the code's going to look like and how we move forward.
- 9:56SPEAKER_00: The key here is for now move to.NET Core.
- 10:01SPEAKER_00: Get used to that get a better understanding of how.NET Core works.
- 10:06SPEAKER_00: Now one of the questions that comes as well is okay I want to be on the cutting edge I want to be on the latest thing does that mean I should not learn anything.NET framework?
- 10:18SPEAKER_00: And the answer is no.
- 10:20SPEAKER_00: You should learn.NET framework for a couple of reasons.
- 10:24SPEAKER_00: First of all that C sharp code is probably the same exact C sharp code you'll need in.NET Core.
- 10:32SPEAKER_00: So while there might not be as many.NET Core tutorials out there as there are.NET framework, you can learn from those.NET framework videos in fact I have a number of videos on this channel about.NET framework that relate almost identically to.NET Core.
- 10:51SPEAKER_00: So you can do that same work in.NET Core and say and see 98% of the same results.
- 10:58SPEAKER_00: You might have to make a couple tweaks which I'll teach you about in the.NET Core videos where I cover those topics.
- 11:05SPEAKER_00: So still learn from.NET Framework.
- 11:08SPEAKER_00: Also and this is something that's hard for new developers yes you want to learn the latest and greatest.
- 11:15SPEAKER_00: Yes you want to learn the best but when it comes to business you're going to be behind almost all the time.
- 11:25SPEAKER_00: Unless you're working for a brand new company that's just starting out you're going to use frameworks you're going to use code that's old it may be two years old it may be five years old maybe ten years old or even twenty it's going to be older.
- 11:43SPEAKER_00: I just talked recently a person who he can't get off of Windows XP because it's got embed versions for his mobile devices mobile checkout stations for a cash register.
- 11:55SPEAKER_00: So he has to work with dot net 4 which is pre dot net 4.5 which is pre-NET core which is pre of course.NET 5.
- 12:06SPEAKER_00: So he's not looking at.NET 5.
- 12:08SPEAKER_00: He's looking at could I even get toNE4.5 which is old technology.
- 12:14SPEAKER_00: So when you work for a company you have to work with what they have there's a lot of reasons why companies don't just upgrade to the latest version of something.
- 12:24SPEAKER_00: It's expensive.
- 12:26SPEAKER_00: It may require a lot of time and effort to redo something just to have what you did you had six months ago in a newer version.
- 12:35SPEAKER_00: That's not very cost effective.
- 12:37SPEAKER_00: So you really working with older technology sometimes what I teach you is okay here's how to then upgrade that to the latest version so that you can be more valuable in those organizations because they have the older code you can help move them towards newer environments maybe slowly over time.
- 12:58SPEAKER_00: So you're still going to need to learn.NET framework style stuff if you want to work in any type of business other than either cutting edge or brand new startup type tech.
- 13:11SPEAKER_00: Okay?
- 13:12SPEAKER_00: You're going to have to use some older technology.
- 13:14SPEAKER_00: Alright so the.NET framework is still alive and well it's not being updated but it's not end of life.
- 13:23SPEAKER_00: It's still being supported.NET Core is the way to go today it's a solid fast platform that will really do a lot of great things for you.
- 13:33SPEAKER_00: Going forward.NET 5 and 6 are coming and they're going to take the net platform to an even higher level of even more awesome stuff.NET is on the rise there's a lot of things that are really great about C sharp a lot of really things you can do with C sharp even before dot net 5.
- 13:57SPEAKER_00: So even right now even today you can create plat create applications that run cross platform so on Mac on Linux on Windows you can create IoT applications you can create Xbox applications you can create iPhone and Android and desktop and web and services and cloud base all this stuff with.NET with.NET 5 and 6 unify that.NET platform will be able to do even more with less changes.
- 14:32SPEAKER_00: So now you can have one desktop application that works across platforms maybe even across mobile and desktop.
- 14:41SPEAKER_00: Now even today with the Uno platform we can do a lot of this stuff as well.
- 14:46SPEAKER_00: So there's a lot of great things coming forward and it's getting so that there's not a platform out there that you can't write code for using just C sharp.
- 14:56SPEAKER_00: That's awesome.
- 14:58SPEAKER_00: With Blazor client side or Blazor WebAssembly you can write all of your client side code or most of it in C sharp instead of having to use Angular React or View and so you take those existing skills that you have in the back end and you use in the front end as well.
- 15:16SPEAKER_00: So C sharp is expanding it's growing it's open source which is awesome so the the level and of improvements is awesome.
- 15:25SPEAKER_00: That does not mean the previous version is dead it doesn't mean that you shouldn't know the previous version it just means that there's even cooler stuff coming or even cooler stuff here today.
- 15:38SPEAKER_00: So that's kind of it for this this dev questions yes.NET framework is still viable but if you have new development move to.NET Core once we get to.NET 5 and 6 move to those platforms as well if you have existing code try the migration now and start working through that because it's going to take some time okay learning you can learn from.NET framework and dot net core projects learn about.NET Core first and you'll understand the differences with.NET framework so you'll see immediately okay it's a little bit different.
- 16:16SPEAKER_00: This is how we do it in.NET Core.
- 16:18SPEAKER_00: For example.NET Core has app settings.json instead of app.config or web.config.
- 16:25SPEAKER_00: Same principle practically the same way of interacting with it but it's a better and different way of doing it in.NET Core.
- 16:34SPEAKER_00: So if you learn.NET Core first then go back and and use some of those those tutorials or videos in.NET framework you'll still get a lot of value out of them.
- 16:43SPEAKER_00: Okay?
- 16:43SPEAKER_00: So don't just abandon those.
- 16:44SPEAKER_01: Thank you for joining us for this episode of Dev Questions.
- 16:47SPEAKER_01: Tim is committed to making it easier for you to become a developer.
- 16:51SPEAKER_01: If you would like to help make more content like this possible please like subscribe rate and share Dev Questions.
- 16:58SPEAKER_01: You can also send your questions to Questions at IamTimcore.com.
- 17:03SPEAKER_01: Until next time, remember you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 17:10SPEAKER_01: When you're ready to learn to think and code like a professional developer head over to imtimcore.com and enroll in a course