title: Difference between ASP.NET MVC 5 and ASP.NET CORE 3.0 (Blazor)
body: <p>I am a beginner in learning in .NET Technologies. As I am aware of C# language and i had learned  Asp.Net MVC 5. I am able to understand the concepts which i had been able to implement. I have been used Code-first Approach by Entity Framework.</p>
  
  <p>I have seen some of the ASP.NET CORE projects on youtube and other resources the dependencies from NuGet package manager were not able to install as the project was in ASP.NET CORE 2.0. So I want to learn ASP.NET CORE 3.0. </p>
  
  <p>I have below questions in my mind  : </p>
  
  <ol>
  <li>What is the actual difference between ASP.NET MVC 5 and ASP.NET CORE 3.0?</li>
  <li>Can we learn ASP.NET CORE 3.0 with ASP.NET MVC 5 knowledge?</li>
  <li>Are any prerequisites are required to learn initially while starting ASP.NET CORE 3.0?</li>
  <li>Does ASP.NET CORE 3.0 have the Scaffolding templates as in ASP.NET MVC 5?</li>
  </ol>
  
  <p>So I have seen recently about Blazor .NET web Framework. So i was so excited to learn this framework.</p>
  
  <p><strong>Blazor Server is supported in ASP.NET Core 3.0. Blazor WebAssembly is in preview for ASP.NET Core 3.1.</strong></p>
  
  <p>I was able to understand about the Blazor framework with the help of <a href="https://docs.microsoft.com/en-us/aspnet/core/blazor/get-started?view=aspnetcore-3.1&amp;tabs=visual-studio" rel="nofollow noreferrer">Getting started with ASP.NET Core Blazor</a></p>
  
  <p>I was using visual studio 2019 created a project with Blazor App Template.</p>
  
  <p>WeatherForeCast.cs</p>
  
  <pre><code>using System;
  
  namespace Understanding.Data
  {
      public class WeatherForecast
      {
          public DateTime Date { get; set; }
  
          public int TemperatureC { get; set; }
  
          public int TemperatureF =&gt; 32 + (int)(TemperatureC / 0.5556);
  
          public string Summary { get; set; }
      }
  }
  </code></pre>
  
  <p>WeatherForeCastServices.cs</p>
  
  <pre><code>using System;
  using System.Linq;
  using System.Threading.Tasks;
  
  namespace Understanding.Data
  {
      public class WeatherForecastService
      {
          private static readonly string[] Summaries = new[]
          {
              "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
          };
  
          public Task&lt;WeatherForecast[]&gt; GetForecastAsync(DateTime startDate)
          {
              var rng = new Random();
              return Task.FromResult(Enumerable.Range(1, 5).Select(index =&gt; new WeatherForecast
              {
                  Date = startDate.AddDays(index),
                  TemperatureC = rng.Next(-20, 55),
                  Summary = Summaries[rng.Next(Summaries.Length)]
              }).ToArray());
          }
      }
  }
  </code></pre>
  
  <p>_Host.cshtml</p>
  
  <pre><code>@page "/"
  @namespace Understanding.Pages
  @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
  
  &lt;!DOCTYPE html&gt;
  &lt;html lang="en"&gt;
  &lt;head&gt;
      &lt;meta charset="utf-8" /&gt;
      &lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /&gt;
      &lt;title&gt;Understanding&lt;/title&gt;
      &lt;base href="~/" /&gt;
      &lt;link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" /&gt;
      &lt;link href="css/site.css" rel="stylesheet" /&gt;
  &lt;/head&gt;
  &lt;body&gt;
      &lt;app&gt;
          @(await Html.RenderComponentAsync&lt;App&gt;(RenderMode.ServerPrerendered))
      &lt;/app&gt;
  
      &lt;script src="_framework/blazor.server.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>MainLayout.razor</p>
  
  <pre><code>@inherits LayoutComponentBase
  
  &lt;div class="sidebar"&gt;
      &lt;NavMenu /&gt;
  &lt;/div&gt;
  
  &lt;div class="main"&gt;
      &lt;div class="top-row px-4"&gt;
          &lt;a href="https://docs.microsoft.com/en-us/aspnet/" target="_blank"&gt;About&lt;/a&gt;
      &lt;/div&gt;
  
      &lt;div class="content px-4"&gt;
          @Body
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>I have seen in blogs, Goodbye Javascript! Build an Authentical Web App in C# with Blazor + ASP.NET CORE 3.0. What does it mean? So I want to know what is actually about?</p>
  
  <p>When i had observed the folder structure from ASP.NET MVC 5 to ASP.NET CORE 3.0 Blazor.I had observed the folders differs a lot.</p>
  
  <p><a href="https://i.stack.imgur.com/hsKfr.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hsKfr.png" alt="Blazor Folder hierarchy"></a></p>
  
  <p>So I want to know how does it work when compare to ASP.NET MVC 5?</p>
  
  <p>Just a little overwhelmed here, any advice would be much appreciated.</p>
  
  <p>Thank you.</p>