ASP.NET Core Tutorials
In this ASP.NET Core Tutorials series, I am going to discuss all the basic, intermediate and advanced concepts of ASP.NET Core. These dot net core tutorials will help you to build rich data-driven web applications. At the end of these ASP.NET Core Tutorials you will be in a better position to perform all the CRUD (i.e. Create, Read, Update, and Delete) operations using the SQL Server database. Here you will learn, ASP.NET Core basics, ASP.NET Core Razor Pages, ASP.NET Core MVC, ASP.NET Core with Angular, and ASP.NET Core Web API.
These ASP.NET Core Tutorials are for whom?
These ASP.NET Core Tutorials are designed for beginners as well as professionals developers who want to learn ASP.NET Core step by step. Here, in these .NET Core Tutorials, we will provide a hands-on approach to the subject with step-by-step program examples that will assist you to learn and put the acquired knowledge into practice.
ASP.NET Core 3.1:
ASP.NET Core is a free, open-source, and cloud-optimized framework that can run on Windows, Linux, or macOS. You can say it is the new version of ASP.NET. The framework is a complete rewrite from scratch in order to make it open-source, modular, and cross-platform.
-> Web Framework
-> Cloud Optimize
-> Runs on top of the .NET Core and .NET Framework
What is .NET Core?
.NET Core is a new version of .NET Framework, which is a free, open-source, general-purpose development platform maintained by Microsoft. It is a cross-platform framework that runs on Windows, Linux, and macOS. .NET Core framework can be used to build different types of applications today such as console, desktop, web, mobile, cloud, IoT, machine learning, Microservices, games, etc…
.NET Core is written from scratch to make it a modular, lightweight, fast, and cross-platform framework, it includes the core features that are required to run a basic .NET Core app. Other features are provided as NuGet Packages, which you can add it in your application as needed. In this way, the .NET Core application speed up the performance, reduce the memory footprint and becomes easy to maintain.
Why .NET Core?
There are some limitations to the .NET Framework. For example, it only runs on the Windows OS Platform. Also, you need to use different .NET APIs for different windows devices such as Windows Desktop, Windows Store, Windows Phone, and Web Applications. In addition to this, the .NET Framework is a machine-wide framework. Any changes made to it affect all applications taking a dependency on it.
Today, it’s common to have an application that runs across devices; a backend on the web server, admin front-end on windows desktop, web, and mobile apps for consumers. So, there is a need for a single framework that works everywhere. So, considering this, Microsoft created .NET Core. The main objective of .NET Core is to make .NET Framework open-source, cross-platform compatible that can be used in a wide variety of verticals, from the data center to touched-based devices.
.NET Core Characteristics:
Open-source Framework: .NET Core is an open-source framework maintained by Microsoft and available on GitHub under MIT and Apache 2 Licenses. You can view, download, or contribute to the source code using the following GitHub repositories:
.NET Core Runtime: https://github.com/dotnet/runtime
.NET Core SDK: https://github.com/dotnet/sdk
ASP.NET Core: https://github.com/dotnet/aspnetcore
Language Compiler Platform Roslyn: https://github.com/dotnet/roslyn
Cross-Platform: .NET Core runs on Windows, Linux, and macOS operating systems. There is different runtime for each operating system that executes the code and generates the same output.
Consistent across Architecture: Execute the code with the same behavior in different instruction set architectures, including x64, x86, and ARM.
Wide-range of Applications: Various types of applications can be developed and run on .NET Core platform such as Console, Desktop, Web, Mobile, Cloud, IoT, ML, Microservices, Gaming, etc…
Support Multiple Languages: You can use C#, F#, and Visual Basic programming to develop .NET Core applications. You can use your favorite IDE, including Visual Studio 2017/2019, Visual Studio Code, Sublime Text, Vim, etc….
Modular Architecture: .NET Core supports a modular architecture approach using NuGet Packages. There are different NuGet Packages available for various features that can be added to the .NET Core project as needed. Even though .NET Core library is provided as a NuGet Package. In this way, the .NET Core application speed up the performance, reduce the memory footprint and becomes easy to maintain.
CLI Tools: .NET Core includes CLI tools (Command Line Interface) for development and continuous-integration.
Flexible Deployment: .NET Core applications can be deploying user-wide or system-wide or with Docker Containers.
Compatibility: Compatible with .NET Framework and Mono APIs by using .NET Standard Specification.
Developer(s): .NET Foundation
Initial Release: .NET Core 1.0 – 27th June 2016
Stable Release: .NET Core 3.1.7 – 11th August 2020
Preview Release: .NET 5.0.0-preview.8 – 25th August 2020
Written: C++ and C#
Operating System: Windows, Linux, and macOS
Type: Software Framework
.NET Core Versions:
.NET Core 1.x:
1.0 – 27th June 2016 (VS 2015 Update 3) – Latest Update 1.0.16 (14th May 2019) – Supports Ended on 27th June 2019
1.1 – 16th Nov 2016 (VS 2017 Version 15.0) – Latest Update 1.1.13 (14th May 2019)- Supports Ended on 27th June 2019
.NET Core 2.x:
2.0 – 14th Aug 2017 (VS 2017 Version 15.3) – Latest Update 2.0.9 (10th Jul 2018) – Supports Ended on 1st Oct 2018
2.1 – 30th May 2018 (VS 2017 Version 15.7) – Latest Update 2.1.20 (14th Jul 2020 – LTS)- Supports Ended on 21st Aug 2021
2.2 – 4th Dec 2018 (VS 2019 Version 16.0) – Latest Update 2.2.8 (19th Nov 2019) – Supports Ended on 23rd Dec 2019
.NET Core 3.x:
3.0 – 23rd Sep 2019 (VS 2019 Version 16.3) – Latest Update 3.0.3 (18th Feb 2020) – Supports Ended on 3rd Mar 2020
3.1 – 3rd Dec 2019 (VS 2019 Version 16.4) – Latest Update 3.1.7 (1th Aug 2020 – LTS)- Supports Ended on 3rd Dec 2022
Both, .NET Core 2.1 and .NET Core 3.1 will have long term support (LTS).
Note: The next release after .NET Core 3.1 will be .NET 5. The .NET Framework will be deprecated, and .NET 5 will be the only .NET going forward – hence the removal of the “Core” branding and skipping of version 4 to avoid confusion with .NET Framework 4.x. The first preview of .NET 5 was released on March 16th, 2020.
.NET 5 – Nov 2020 (Projected to be Release) – Latest Update – 5.0.0-preview.8 (25th August 2020)
.NET 6 – Nov 2021 (Projected to be Release)
.NET 7 – Nov 2022 (Projected to be Release)
.NET 8 – Nov 2023 (Projected to be Release)
Language Support: .NET Core supports languages such as C#, F#, or Visual Basic in which you can write your .NET Core applications.
.NET Core Composition:
The .NET Core Framework composed of the following parts:
CLI Tools: A set of tooling for development and deployment.
Roslyn: .NET Compiler Platform for C# and Visual Basic.NET languages from Microsoft.
CoreFx: A Set of framework libraries.
CoreCLR: A JIT based CLR (Common Language Runtime). CoreCLR is the .NET execution engine in .NET Core, performing functions such as garbage collection and compilation to machine code.
Where can we develop applications using .NET Core?
As the dot net core is cross-platform so we can use several types of machines such as Windows, Mac, and Linus to develop dot net applications.
What type of application we can develop with .Net Core?
- Web: ASP.NET Core MVC, Web API, Razor Pages, and Microservices
- Desktop Applications (Starting from 3.0)
- Gaming Applications
- Cloud Applications
ASP.NET Core 3.1:
Application Types: We are going to discuss the following as part of this course.
- NET Core with Razor Pages
- NET Core with MVC (ASP.NET Core MVC or Core MVC or MVC Core)
- NET Core with Web API (ASP.NET Core Web API or Core Web API or Web API Core)
- NET Core with Angular (Single Page Application)
- NET Core with React JS (Single Page Application)
- NET Core with React JS & Redux (Single Page Application)
Note: In the above any of the listed application types we may use traditional ADO.NET or Entity Framework Core ORM Tool for developing the database-centric application.
What is .NET Core?
According to MSDN, the ASP.NET Core is a brand new cross-platform, high-performance, light-weight, open-source Framework which is used for developing modern, Internet-connected, cloud-based Web Applications, IoT, and Web APIs which can be developed and run on Windows, Linux, or Mac operating systems.
What you should have to learn ASP.NET Core?
You should have knowledge of HTML, CSS, and C#. That does not mean you need to be an expert on these technologies. What you need is the basic knowledge of HTML, CSS, and C#.