{"id":3175,"date":"2020-05-12T22:50:13","date_gmt":"2020-05-12T17:20:13","guid":{"rendered":"https:\/\/www.h2kinfosys.com\/blog\/?p=3175"},"modified":"2020-05-12T22:50:15","modified_gmt":"2020-05-12T17:20:15","slug":"what-is-the-difference-between-net-core-and-net-framework","status":"publish","type":"post","link":"https:\/\/www.h2kinfosys.com\/blog\/what-is-the-difference-between-net-core-and-net-framework\/","title":{"rendered":"What is the Difference Between .NET Core and .NET Framework?"},"content":{"rendered":"\n<p>How to choose the right framework? Are you wondering about which framework to choose for your next Desktop application? Then here\u2019s some insight into it! Of course, what\u2019s evident from the beginning is that the .NET framework is only limited to the Windows operating system, while the .NET Core enables building applications across platforms. But, is it the only difference between them? How are .NET Core and .NET Framework distinct otherwise? Which is better and when? Let\u2019s figure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is the DotNET Framework?<\/h3>\n\n\n\n<p>Microsoft first released DotNET in 2002 as proprietary software. Quite obviously, with its tremendous technical support, the <a href=\"https:\/\/www.h2kinfosys.com\/courses\/dotnet-online-training-course-details\">DotNET framework is easy to learn<\/a> and build applications. So, what applications can one build using the .NET framework? Form-based applications and web-based applications.<\/p>\n\n\n\n<p>Without much ado let\u2019s look at the .NET framework components:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>CLR &nbsp;(Common Language Runtime)<\/li><li>Class Library<\/li><li>Languages<\/li><\/ol>\n\n\n\n<p><strong>CLR<\/strong><\/p>\n\n\n\n<p>The Common Language Runtime is the platform where the .NET programs are executed.<\/p>\n\n\n\n<p>The 3 key features of CLR are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Exception Handling \u2013 When errors happen for instance the program tries to open a file that is not present on the system, such exceptions or errors are handled by CLR.<\/li><li>Garbage Collection \u2013 This entity removes unwanted resources, for example, an unwanted database connection continues to exist even after use, and then this entity takes care of it.<\/li><li>The most important feature of CLR which enables us to run the program in any language of choice from the .NET supported languages. This is, in turn, consists of 3 layers:<ul><li>Level 1 \u2013 VB.Net, C#<\/li><\/ul><ul><li>Level 2 \u2013 Separate compiler for each VB.NET, C#<\/li><\/ul><ul><li>Level 3 \u2013 Common Language Interpreter is the final layer where separate language programs are sent here by respective compilers to run on .NET application.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p><strong>Class Library<\/strong><\/p>\n\n\n\n<p>This component of .NET Framework contains all the libraries which are methods or functions to handle different operations.<\/p>\n\n\n\n<p><strong>Languages<\/strong><\/p>\n\n\n\n<p>There are three types of applications which can be built using the .NET framework-<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>WinForms \u2013 Using these, one can build end-user applications like the NotePad.<\/li><li>ASP.NET \u2013 These forms are used for building web-based applications which can &nbsp;run on different browsers such as, Chrome, Firefox, IE<\/li><li>ADO.NET \u2013 These forms are used to establish a connection between the application and the databases such as Oracle, SQL Server, etc.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What is the DotNET Core?<\/h3>\n\n\n\n<p>.NET Core, on the other hand, is an open-source software framework meant for Windows, Linux, macOS operating Systems. To make the long story short, .NET Core is the cross-platform successor to the .NET framework.<\/p>\n\n\n\n<p>The DotNET Core has the following components:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>UWP &#8211; This is the Universal Windows Platform that is used ideally to build Windows 10 applications and mobile applications. It supports C#, C++, VB.NET, and JavaScript programming languages other than XAML, HTML, or DirectX for UI.<\/li><li>DotNET Core Runtime &#8211; This contains the assembly loading, garbage collector, etc.<\/li><li>DotNET Core libraries \u2013 This has the collection of libraries that provides primitive data types, app composition types, and other fundamental utilities.<\/li><li>ASP.NET Core Runtime \u2013 It\u2019s a framework for building modern, containerized, cloud-based, internet-connected apps, such as web apps, IoT apps, as well as mobile backend<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">When to choose what between .NET Core and .NET Frameworks\u2026<\/h3>\n\n\n\n<p>It is more or less evident from the above sections about which framework is ideal for different applications.<\/p>\n\n\n\n<p><strong>So, when to choose .NET Core?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Evidently, when you have cross-platform needs, then .NET core is the answer<\/li><li>When you have time to learn the complex .NET Core to build applications.<\/li><li>If you require <a href=\"https:\/\/en.wikipedia.org\/wiki\/Microservices\" rel=\"nofollow noopener\" target=\"_blank\">microservices<\/a>, that is to mix the services of .NET Framework, Java, Ruby, and other technologies.<\/li><li>When containerization is required along with microservice architecture. <a href=\"https:\/\/www.h2kinfosys.com\/blog\/how-is-the-future-for-dotnet-developers\/\">DotNet Framework <\/a>allows Windows Containerization. But .NET Core enables cross-platform containerization, such as a Windows Server app that can be deployed in Linux Docker container.<\/li><li>Ideal when the applications need the best performance and scalability.<\/li><li>When different versions of .NET Core Runtime have to be installed on the same machine, then .NET Core is recommended. This attempt basically improves productivity in application upgrading and saves money as well.<\/li><\/ul>\n\n\n\n<p><strong>So, when choosing the .NET Framework ideal?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>When the application requires a more stable environment to work on.<\/li><li>If the deadline is soon approaching and need to build the application fast.<\/li><li>To extend the functionalities of an existing application.<\/li><li>In case, if you want to avoid the regular updates and changes such as in .NET Core.<\/li><li>To build Windows Client applications using WPF or Windows Forms.<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to choose the right framework? Are you wondering about which framework to choose for your next Desktop application? Then here\u2019s some insight into it! Of course, what\u2019s evident from the beginning is that the .NET framework is only limited to the Windows operating system, while the .NET Core enables building applications across platforms. But, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3182,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[499],"tags":[731,515,464],"class_list":["post-3175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet-tutorials","tag-net-core","tag-net-framework","tag-difference"],"_links":{"self":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/3175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/comments?post=3175"}],"version-history":[{"count":0,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/3175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media\/3182"}],"wp:attachment":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media?parent=3175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/categories?post=3175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/tags?post=3175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}