.NET Recap - What are .NET Framework, .NET Core, .NET Standard, and .NET 5

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Applause] [Music] okay so let's get started now we covered the course organization for this year and now we can go right into the subject matter we'll talk about.net and we'll spend today's remaining two lessons to course lessons recapping repeating what we know about.net and we will take a look at what changes net 5 will bring to the table when it comes to net coding okay we will recap the c sharp programming language too but we will do that in a flipped classroom style with flipgrid videos and i will tell you more about that later on so the topic that we are now covering is the net platform now let me ask you imagine the following situation you are you want to have an internship at a very interesting company and they tell you that they are sticked they stick still with net framework and they want to move to a modern way of net programming what would you tell them imagine you are in the hr department they are interviewing you and they want to know whether you understand the dot-net platform what would you answer what do you know i want to find out this is not an exam yeah i want to find out what you already know what do you knowabout.net what would you tell them is dotnet framework the latest and greatest version of net that there is out there yeah there is net core okay imagine now i'm the hr person and you say why don't you use dot net core and i say oh dot net core never heard of it what's that it's a way for c-sharp to run on every platform it's a way for c-sharp to run on any platform okay wasn't that possible before how before.net core you wrote an application and you want it to run on linux for instance was it possible yes it was how the word i want to hear starts with an m the second letter is an o mono have you ever heard about mono the history of net looks like that let me describe that that's now a little bit of history lesson i think nowadays if you take a look at a programming language you always have to understand where it comes from okay in the early beginnings microsoft had a severe problem in the early beginnings of net they had this platform which was called visual basic you probably don't even know what visual basic is do you it was a programming language and it wasn't let's say if you program visual basic you really got things done but you were not considered a serious programmer because i mean basic it's not a real programming language right but still it was widely used and the second big programming language in the microsoft universe if you wanted to build windows application was c plus plus serious programmers they used c plus plus but they didn't get things done because you were not productive because of so many null pointer errors and pointer errors and whatever and then they had the big competition which was called java java was the first language out there who really promised and fulfilled a cross-platform virtual machine that runs everywhere that makes you productive and gives you all the principles of a modern programming language and then microsoft invented.net the original idea of net was that you get a common language runtime clr you will hear this term very very often when you do net programming a common language runtime on which many programming languages including c plus java at the very beginning java was also running on the clr visual basic and over time many many many programming languages could sit on top so the original idea of.net was not to invent c-sharp c-sharp was just just one programming language which was sitting on the net framework and microsoft was from the very beginning standardizing this common language runtime this common language runtime was given to the world for free a standard so that everybody could implement the common language runtime and this is what happened microsoft implemented the common language runtime on windows and the open source community implemented a common language runtime with mono for other platforms so you had two let's say little bit competing platforms which both could run dot net applications so it was possible in the past what changed with.net core microsoft embraced open source this was what happened microsoft said it doesn't pay off it doesn't make any sense that the open source community does such a great job in building a platform like mono at that time mono in some areas were better than the original programming language that the original framework that that microsoft came out and microsoft said you know what let's forget about this whole closed source stuff we accept that we will not earn money by selling.net let's make it open source this is what happened so they sat down and they started a multi-year journey where they said okay let's take the compiler and make it open source let's take the common language runtime and make it open source let's take the base class library and make it open source and while making it open source they also tried to redesign certain areas they wanted to boil to its very core to the really good things because over time microsoft also made some bad decisions design decisions and they wanted to get rid of it and the whole package open sourcing everything making it making it cross-platform available and redesigning it boiling it down to the very core this is what dot net core is all about now this this was this movement unfortunately many people nowadays even in the business world out there still have the net framework in their mind they still think that with net you build windows apps you build windows forms apps that's not net for them if you want to build something cool in a container in kubernetes on the web on in a cloud you need to go cloud native go rust c plus plus whatever it's not necessary dot net core really is cross platform and entirely open source it sounds pretty simple if we just said okay they decided to make it open source but keep in mind they are investing a huge amount of money in the compiler in the platform and they are giving away they are giving away for free all this stuff that was a really difficult decision for a company like microsoft to make because before they could charge people when they build software based on the net framework they could charge companies if they want to take the net framework and somehow make money from it from that point on they stopped they changed their entire business model you know why we are not talking just to give you an idea we are not talking about the project where two programmers in redmond work on chartboard.net we are talking about huge teams we are talking of dozens and dozens hundreds of developers and those developers are some of the best developers in the world they are not cheap we're talking about huge investments how can they do that they want to earn money microsoft is not a non-profit organization it's not like a foundation like the mozilla foundation or something like that they want to earn money how could they do it how could they say from from one year to the other we don't want to earn money with any kind of programming platforms anymore they over time you know what happened they even got one step further they made a development environment visual studio code entirely for free and open source again huge investments of one of the best of some of the best programmers in the world why how why do they do it what's the business model where's their cheese yep yes exactly and now we are coming to the point that's the strategic thing that changed everything the business models of companies like microsoft it changed previously when they had the.net framework they were aggressively selling windows they wanted you to use windows on your client they wanted you to use windows on your server because then you pay for windows licenses they only offered a database a very a very um very common database platforms like sql server just on windows and they charged you for that that was their business model that was how they earned money and they changed this business model and said we don't over time over many many years we don't see the future of our companies selling licenses we want to sell cloud services so it doesn't matter if you pay them for visual studio code or net or c-sharp they don't want to earn money with that it's primarily an internal tool they need tools too for developing software and they it happens that they do a lot of c sharp development and they just say okay let's take our tools and give it to the world we don't care because the money that we make is in the cloud we earn money in the cloud this is also why microsoft is now really embracing linux do you know that in the latest version of windows you have linux built in you have the windows subsystem for linux you have a linux kernel in your windows operating system you can run native docker demons native ubuntu native debian directly in windows without a virtual machine that that was absolutely impossible 15 years ago they hated linux a ceo of microsoft stood on stage and said that linux is the devil and now the ceo from microsoft stands on stage and says we love linux this is how drastically this company changed and this is why this is the broader strategy that happened they changed the business model towards cloud and at that point they said we give it away for free we make it cross-platform because we see the future in the cloud and in the cloud we see linux windows is not the operating system the primary primary operating system for the cloud linux is the operating system for the cloud and if they wanted net to stay relevant they had to make sure that net c sharp and so on runs perfectly fine on linux because otherwise it's not ready for the cloud it doesn't fit to their business model understand what i mean so this changed and therefore if you go out and you work with customers you you want to have an internship or you want to have a job and you see that these customers are still using the good old.net framework which is closed source well not anymore you can also look up the source code of the net framework nowadays but which is limited to windows this is something or these companies will have to change it's a dead end the support is still there they don't have to throw out the window throw the the software out of the window it doesn't make sense but they will have to change towards.net core okay so dotnet framework is legacy it's not bad we still in my own company we still use net framework but yeah it's it's not widely used anymore so so this is the net framework it's a development platform for building web apps windows apps windows server apps and azure apps it contains of the common language runtime and the base class library please distinguish that oh you don't see my screen i'm very sorry i didn't share my screen let's fix that yeah here we are the dotnet services include memory management type safety anything i didn't know i think that's fine yes and the net framework generally the net platform supports many languages guess how many languages over the years have been built on top of the net framework shout out guesses there is this is not an exam just guesses 5 10 hundred what do you guess significantly more than one hundred you can run cobol on.net many many languages are built on the common language runtime yeah good now no let's let's stay here now i told you what net core is all about and if somebody tells you what is.net core what will you answer it's open source it's cross-platform and it is a stripped-down version of net framework where microsoft got rid of a lot of the poor design decisions that they made over time question you i didn't understand the question if you can look at it it's a github repository you can clone it you can build it c-sharp compiler it's a github repository take it build on it you can contribute bug fixes you can contribute features the uh even the team meetings of the designer of the c-sharp language and the net framework they are broadcasted on youtube you can watch it on youtube now i think they are recorded on youtube they are not live broadcasted there so so it's extremely open it's not just okay we give you a glimpse into the source code they live and breathe on github dotnet base class library the tools around it roslyn are some of the most active github open source repositories on this planet same is true for visual studio code yeah but there is another website which is really really helpful you can remember it it's not that important but it's useful it's called source dot dot net i think and it's a complete source browser of net core imagine you want to know how the date time data type is implemented you can click on it and you don't need to start github and look for the file but you see here including the documentation the original source code and it's also very nicely to navigate so if you click on it you can see you can navigate between the source code you can here click on that one you will see if i go here the different members of this class you can click here you will see the different c sharp files so you can navigate through the source code including the folders and so on so source.net is a convenient way of of browsing through the source code i really regularly look at this website and if i'm not sure is it faster to use datetime.now to get the current time or datetime.utc now is it better to use this one or that one could you answer this question well if you couldn't take a look at the source code and you will immediately find out that datetime.utc now is significantly faster than daytime.now so does this answer your question yes okay good so this is dot net core uh you can take a look at it uh here is is the link um anything yeah with dot net core something interesting happened microsoft became friends with the mono um with the mono team and the mono community the mono community previously had to rewrite the entire.net baseclass library because they were not allowed to use the code that microsoft created and with microsoft going open source the mono team could throw away lots of their work because they were now allowed to use the original code from microsoft and what happened over time is that the mono team really got part of the dot net team nowadays there is a foundation and non-profit foundation which is called the.net foundation and this.net foundation is running the.net ecosystem just like mozilla is running firefox and so on and rust for instance just many other foundations.net foundation is running.net in c-sharp microsoft gave away the whole management of the entire project to a to an external body what granted many of the leading figures in the.net foundation are employees from microsoft so it's still heavily influenced by microsoft but not just microsoft okay good next one have you ever heard of net standard i guess that okay dotnet standard is super important to understand how dot net works if you don't understand what dot net standard is you don't understand what dot net core is so we have to talk about net core and net stand the point is when microsoft introduced net core it was their.net core but those companies who built software for instance on mono for android for ios for unity the gaming engine you maybe have heard of unity before they couldn't switch like that from from mono to net it doesn't work because they needed to maintain all this stuff and now microsoft had a problem they had this new beautiful world.net core but there were also different beautiful worlds which were built on platforms like mono and some people wanted to write class libraries class libraries which work on ios on android which work in unity and which work in a winforms application a wpf application and an asp.net core application just class libraries now how can you do that how can you build a class library for all of these platforms if all of these platforms were at one point in time different they they grew differently they weren't with um like a magic wand it was there wasn't then harry potter who said now we just have one.net and we organize everything and mono becomes.net core and everything is magically compatible that didn't work and this is where dot net standard came in dot dotnet standard is a standardization of the minimum requirement that every platform had to fulfill in order to be called net standard the most important it's difficult to understand i know the most important thing is this matrix here have you ever seen this matrix the net implementation support you find it here in the slides this is really important and if you ever want to get a job in the net environment you definitely have to be able to read this matrix now what is this matrix all about it tells you here the net standard it's the minimum requirement if you write a class library we are not talking about apps or ui stuff we are talking about class library business logic calculation logic data models class libraries if you build a class library and you build it based on solely the functionality of let's say net standard 1.5 then you could may be sure that your class library can be used in dot net core 1.0 or higher in.net framework yes your class library would be applicable to old and new.net but it would also work on mono with xamarin it would work on ios on mac on android uwp i don't know if you ever heard of uwp it's the native windows gui stuff and it would also work in unity starting with 2018.1 version that's the idea of dotnet standard you don't write libraries for net core but you write libraries for net standards and by writing library against the.net standard you could be compatible to a lot of different things imagine you want to build a business out of that you build i don't know some kind of magic i don't know image processing library that can very reliably distinguish dogs from cats and you want to sell this stuff because the whole world needs to distinguish dogs from cats in images and it should be applicable in a unity game in an ios app in a winforms app and in an asp.net web server then you code against dotnet standard not against.net core understood questions i will demo that life in a second okay this is important you have to understand that good now this is.net core and now we are in 2020 we are in the present history is over the next version of net core will not be called net core anymore because what happened over time is that the mono team the net team they all became friends we're all good friends now time has passed everything is magically compatible and therefore microsoft decided to drop the word core it's no longer core the next version of net is called dotnet5 that's it it's not.net core anymore there is only one dotnet there is one base class library and it will be usable across all net 5 compatible platforms there is no net standard anymore there is no net core anymore yes of course it is don't get me wrong it's not thrown out of the window but it's not the latest technology anymore so nowadays and that that's the good news for you you don't if you write state-of-the-art.net software you can't forget about all this complicated.net standard implementation matrix stuff just build on.net 5 and it will run everywhere where net 5 runs that means it works on a on a smart tv which runs on the tyson operating system it runs on ios android it runs in the browser it runs on windows and linux on mac it runs in unity it runs everywhere every platform that supports net5 will be able to run your code full stop understand what i mean so this happened in the dot net ecosystem in this course we will try to focus as much as possible on net 5. it's currently in preview the release candidate came out two days ago i already installed the release candidate essentially yesterday in the evening so we will use the latest release candidate i and i encourage you for your homework to also install the latest release candidate of visual studio 2019 preview that gives you the latest release candidate of net 5. in november the final release of dot net 5 will come out fine okay we have to talk about one thing and then we will dive right into visual studio do you know what lts versions are not just in c sharp in any platform yes hi latest stable yeah what is what does lts stands for exactly long term support yeah it is a version that has support for a pretty long time and this one is important when you go out into the real business world because people do not want to reinvent to rebuild their entire software every single month every single year it's very expensive you as a student you maybe don't have this problem because if i give you homework you write the code you hand in the homework and then you forget about your code but imagine that in one year you go out to the school [Music] and you you found your own company you pay employees you pay employees with your money you want to sell this software do you really want to reinvent the wheel every single year probably not therefore many companies really pay close attention to long-term stable or long-term support version because it gives them kind of security they build on a certain platform and they know that they will get support for at least a few years three years four years depends on the platform and the important thing here is that with net core see this one dot net core 3.1 it's an lts version and the end of support will be at the end of 2020 uh 20 20 20 20 22 now i got with dot net 5 we are currently in release candidate and guess will net 5 be a an lts version no it will not lts will be net 6. so therefore what you currently are we are we are now in preview when dot net 5 comes out in november you will still see a lot of companies out there in the market hesitate to use dotnet 5 because it's not yet an lts version but one year after that so the year when you do your matura you will go out into the market and then you will have.net 6 and then your net know-how will be very very valuable you can go out and apply for jobs and you can say you know what i can help you bring your old.net framework stuff to the newest and greatest.net stick stuff because i know this platform for more than a year and that's the point where i want you to to get okay now there is a really nice blog post yeah this is what i wanted to show you yeah and here you see the timeline of the different.net versions you see that one and you will see here.net 5 ga and net 6 in november 21 will be the lts version so what what should you choose if you write code in.net in this course can somebody please close the door for new apps use dotnet five for libraries where you need back back backward compatibility you use net core and net standard and for libraries which should be compatible with dot net framework you must not use something higher than standard 2.0 okay so if you build a library and you want to sell it to customers who still use dotnet framework use dotnet standard 2.0 if you build a library and you want to sell it to customers who are still on.net core use dotnet standard 2.1 if you want to build the latest and greatest app or library or whatever just use dot net 5. any questions regarding this stuff here no questions currently good then we will take a look at the um at the development environment and we'll try to find out how this works on the command line in visual studio how we configure this stuff how we can change libraries how we can reference libraries all these things i will show you directly in visual studio now for the for the next exercises you will only be able to follow along if you already have the latest version of visual studio 2019 preview if that's not the case don't worry just look at the video beamer try to follow along in your mind ask interesting questions that's perfectly fine up until next week i expect everybody to have the latest software and on your laptops and then you can follow along all the exercises that we do okay good so i will now switch to visual studio we will make another i don't know the brakes already ah now is the big break right yeah we worked a little bit into it just to make it to make it clear um let's switch to german for a second um um good
Info
Channel: Rainer Stropek
Views: 5,393
Rating: undefined out of 5
Keywords: .NET, .NET Core, .NET 5, C#, CSharp, HTL Leonding, .NET Standard, Programming
Id: Xv9Ho1UKsnM
Channel Id: undefined
Length: 33min 46sec (2026 seconds)
Published: Thu Sep 17 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.