{"id":22982,"date":"2019-05-06T15:22:54","date_gmt":"2019-05-06T22:22:54","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=22982"},"modified":"2019-05-08T15:39:05","modified_gmt":"2019-05-08T22:39:05","slug":"net-core-is-the-future-of-net","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/net-core-is-the-future-of-net\/","title":{"rendered":".NET Core\u00a0is the Future of .NET\u00a0"},"content":{"rendered":"<p><span data-contrast=\"auto\">We introduced <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/net-core-is-open-source\/\">.NET Core 1.0 on November 2014<\/a>. The goal with .NET Core was<\/span><span data-contrast=\"auto\">\u00a0to take the learning from our experience building, shipping and servicing .NET Framework\u00a0<\/span><span data-contrast=\"auto\">over<\/span><span data-contrast=\"auto\">\u00a0the previous 12 years and build a better product. Some example<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0of these improvements are\u00a0<\/span><span data-contrast=\"auto\">side-<\/span><span data-contrast=\"auto\">by-<\/span><span data-contrast=\"auto\">side\u00a0<\/span><span data-contrast=\"auto\">installations\u00a0<\/span><span data-contrast=\"auto\">(you can install a new version and not worry about breaking existing apps), self-contained applications (applications can embed\u00a0<\/span><span data-contrast=\"auto\">.NET, so .NET does not need to be on the computer), not\u00a0<\/span><span data-contrast=\"auto\">being\u00a0<\/span><span data-contrast=\"auto\">a component of the Windows operating system (<\/span><span data-contrast=\"auto\">.NET\u00a0<\/span><span data-contrast=\"auto\">ship<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0new releases\u00a0<\/span><span data-contrast=\"auto\">independent of the OS<\/span><span data-contrast=\"auto\">\u00a0schedule) and many more. On top of this<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0we made .NET Core open source and cross platform.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-core-1-0\/\"><span data-contrast=\"auto\">.NET Core 1<\/span><span data-contrast=\"auto\">.0<\/span><\/a><span data-contrast=\"auto\">\u00a0was primarily focused on\u00a0<\/span><span data-contrast=\"auto\">high performance web and microservices<\/span><span data-contrast=\"auto\">.<\/span><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-core-2-0\/\"><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">.NET Core 2<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">0<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">added<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">20K\u00a0<\/span><span data-contrast=\"auto\">more\u00a0<\/span><span data-contrast=\"auto\">API<\/span><span data-contrast=\"auto\">s and\u00a0<\/span><span data-contrast=\"auto\">components\u00a0<\/span><span data-contrast=\"auto\">like Razor Pages and\u00a0<\/span><span data-contrast=\"auto\">SignalR<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0making it easier to port web applications to .NET Core. And now .NET Core 3<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">0<\/span><span data-contrast=\"auto\">\u00a0embraces the desktop\u00a0<\/span><span data-contrast=\"auto\">by\u00a0<\/span><span data-contrast=\"auto\">adding WinForms, WPF and Entity Framework 6\u00a0<\/span><span data-contrast=\"auto\">making it\u00a0<\/span><span data-contrast=\"auto\">possible\u00a0<\/span><span data-contrast=\"auto\">to port desktop applications<\/span><span data-contrast=\"auto\">\u00a0to .NET Core.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">After .NET Core 3<\/span><span data-contrast=\"auto\">.0<\/span><span data-contrast=\"auto\">\u00a0we will not port any more\u00a0<\/span><span data-contrast=\"auto\">features\u00a0<\/span><span data-contrast=\"auto\">from .NET Framework. If you are a Web Form<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0developer and<\/span><span data-contrast=\"auto\">\u00a0want to build a new application on .NET Core<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0we would recommend\u00a0<\/span><span data-contrast=\"auto\">Blazor<\/span><span data-contrast=\"auto\">\u00a0which provides the closes<\/span><span data-contrast=\"auto\">t<\/span><span data-contrast=\"auto\">\u00a0programming model. If you are a\u00a0<\/span><span data-contrast=\"auto\">re<\/span><span data-contrast=\"auto\">moting or WCF Server developer and want to build a new application on .NET Core<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0we would recommend either\u00a0<\/span><span data-contrast=\"auto\">ASP.NET\u00a0<\/span><span data-contrast=\"auto\">Core<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">Web\u00a0<\/span><span data-contrast=\"auto\">API<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0or\u00a0<\/span><a href=\"https:\/\/grpc.io\/\"><span data-contrast=\"auto\">gRPC<\/span><\/a><span data-contrast=\"auto\">, which provides cross platform and cross programming language\u00a0<\/span><span data-contrast=\"auto\">contract based<\/span><span data-contrast=\"auto\">\u00a0RPC<\/span><span data-contrast=\"auto\">s). If you are a Windows Workflow\u00a0<\/span><span data-contrast=\"auto\">developer<\/span><span data-contrast=\"auto\">\u00a0there is an <a href=\"https:\/\/github.com\/UiPath\/corewf\">open source port of Workflow to .NET Core<\/a><\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With the<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">.NET Core 3.0\u00a0<\/span><span data-contrast=\"auto\">release\u00a0<\/span><span data-contrast=\"auto\">in September 2019 we think that all\u00a0<\/span><span data-contrast=\"auto\">*<\/span><span data-contrast=\"auto\">new<\/span><span data-contrast=\"auto\">*<\/span><span data-contrast=\"auto\">\u00a0.NET applications should be based on .NET Core. The primary\u00a0<\/span><span data-contrast=\"auto\">a<\/span><span data-contrast=\"auto\">pplication types<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">from .NET Framework are supported,\u00a0<\/span><span data-contrast=\"auto\">and where we did not port something over there is a recommended modern replacement. All future investment in .NET will be in .NET Core. This includes:\u00a0<\/span><span data-contrast=\"auto\">Runtime,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">JIT<\/span><span data-contrast=\"auto\">, AOT,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">GC,\u00a0<\/span><span data-contrast=\"auto\">BCL (Base Class Library),\u00a0<\/span><span data-contrast=\"auto\">C#, VB<\/span><span data-contrast=\"auto\">.NET<\/span><span data-contrast=\"auto\">, F#, ASP.NET,\u00a0<\/span><span data-contrast=\"auto\">Entity Framework<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">ML.NET,\u00a0<\/span><span data-contrast=\"auto\">WinForms, WPF<\/span><span data-contrast=\"auto\">\u00a0and Xamarin.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-the-net-framework-4-8\/\">.NET Framework 4.8<\/a> will be the last major version of .NET Framework.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">If you have existing .NET Framework applications that you are\u00a0<\/span><span data-contrast=\"auto\">maintaining,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">there is\u00a0<\/span><span data-contrast=\"auto\">no\u00a0<\/span><span data-contrast=\"auto\">need<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">to move these applications to .NET Core.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">We will continue to\u00a0<\/span><span data-contrast=\"auto\">both\u00a0<\/span><span data-contrast=\"auto\">service<\/span><span data-contrast=\"auto\">\u00a0and\u00a0<\/span><span data-contrast=\"auto\">support .NET<\/span><span data-contrast=\"auto\">\u00a0Framework<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">which includes bug<\/span><span data-contrast=\"auto\">&#8211;<\/span><span data-contrast=\"auto\">, reliability<\/span><span data-contrast=\"auto\">&#8211;<\/span><span data-contrast=\"auto\">\u00a0and security fixes<\/span><span data-contrast=\"auto\">. It will continue to ship with Windows\u00a0<\/span><span data-contrast=\"auto\">(much of Windows depends on .NET\u00a0<\/span><span data-contrast=\"auto\">Framework) and we will continue\u00a0<\/span><span data-contrast=\"auto\">to improve the tooling support for\u00a0<\/span><span data-contrast=\"auto\">.NET<\/span><span data-contrast=\"auto\">\u00a0in Visual Studio\u00a0<\/span><span data-contrast=\"auto\">(Visual Studio is written on .NET Framework).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span data-contrast=\"auto\">Summary<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">N<\/span><span data-contrast=\"auto\">ew applications should be built o<\/span><span data-contrast=\"auto\">n<\/span><span data-contrast=\"auto\">\u00a0.NET Cor<\/span><span data-contrast=\"auto\">e. .NET Core is where future investments in .NET will happen. Existing application<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">are safe to remain on .NET Framework which\u00a0<\/span><span data-contrast=\"auto\">will be supported<\/span><span data-contrast=\"auto\">. Existing\u00a0<\/span><span data-contrast=\"auto\">applications that want to take advantage of the new features\u00a0<\/span><span data-contrast=\"auto\">in .NET<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">should consider moving to .NET\u00a0<\/span><span data-contrast=\"auto\">Core.\u00a0<\/span><span data-contrast=\"auto\">As we plan into the future, we will be bringing in even more capabilities to the platform. You can read about our plans <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-net-5\/\">here<\/a><\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We introduced .NET Core 1.0 on November 2014. The goal with .NET Core was\u00a0to take the learning from our experience building, shipping and servicing .NET Framework\u00a0over\u00a0the previous 12 years and build a better product. Some examples\u00a0of these improvements are\u00a0side-by-side\u00a0installations\u00a0(you can install a new version and not worry about breaking existing apps), self-contained applications (applications can [&hellip;]<\/p>\n","protected":false},"author":810,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[196,195],"tags":[],"class_list":["post-22982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet-core","category-dotnet-framework"],"acf":[],"blog_post_summary":"<p>We introduced .NET Core 1.0 on November 2014. The goal with .NET Core was\u00a0to take the learning from our experience building, shipping and servicing .NET Framework\u00a0over\u00a0the previous 12 years and build a better product. Some examples\u00a0of these improvements are\u00a0side-by-side\u00a0installations\u00a0(you can install a new version and not worry about breaking existing apps), self-contained applications (applications can [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/22982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/810"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=22982"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/22982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=22982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=22982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=22982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}