0% found this document useful (0 votes)
5 views

Introduction to ASPCore

ASP.NET Core is a revolutionary, open-source, cross-platform framework developed by Microsoft for building modern web applications, offering high performance, modularity, and cloud readiness. It represents a significant evolution from the legacy ASP.NET framework, unifying MVC and Web API, and providing features like built-in dependency injection and support for modern client-side frameworks. The framework is continuously updated, with a structured release policy that includes Long-Term Support (LTS) and Short-Term Support (STS) versions.

Uploaded by

rupams2024
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Introduction to ASPCore

ASP.NET Core is a revolutionary, open-source, cross-platform framework developed by Microsoft for building modern web applications, offering high performance, modularity, and cloud readiness. It represents a significant evolution from the legacy ASP.NET framework, unifying MVC and Web API, and providing features like built-in dependency injection and support for modern client-side frameworks. The framework is continuously updated, with a structured release policy that includes Long-Term Support (LTS) and Short-Term Support (STS) versions.

Uploaded by

rupams2024
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

In this articleIntroduction to ASP.

NET Core Framework

Nowadays, when it comes to software development, everyone is talking about Free, Open-Source,
and Cross-Platform Development. As we all know, Microsoft is well known for its Windows-based
products. Now, we are in the new age of software development. For this, Microsoft came into the
market with a revolutionary product called ASP.NET Core.

History of ASP.NET
ASP.NET is the framework used to develop Data-Driven Web Applications for many years. Since then,
the ASP.NET Framework has gone through a steady evolutionary change, and finally, the most decent
evolution is ASP.NET Core (you can also call it .NET).

 The ASP.NET Core (.NET) is not a continuous part of the legacy ASP.NET Framework. Instead, it is
a completely new framework.
 This Framework is an actual rewrite of the legacy ASP.NET Framework but with a much smaller
and a lot more modular.
 Some people think many things remain the same, but that is not completely true. The ASP.NET
Core is actually a big fundamental change to the legacy ASP.NET Framework.

What is ASP.NET Core?


According to Microsoft, ASP.NET Core is a Cross-Platform, Open-Source, High-Performance framework
for building modern, cloud-based, and internet-connected applications that run on Windows, Linux,
macOS, and Docker. It is a complete redesign of ASP.NET, with architectural changes that result in a
smaller, more modular framework.

Why ASP.NET Core?


The ASP.NET Core framework is becoming more and more popular among developers. There are a
number of reasons why modern developers are using it, and some of them are listed below:

Cross-Platform:
The ASP.NET Core Framework is designed from scratch to be Cross-Platform for both development
and deployment. So, we don’t need to build different applications for different platforms using
different frameworks. Let us discuss what Cross-Platform is from the ASP.NET Core point of view by
comparing it with the earlier versions of the ASP.NET Framework.

The earlier versions of ASP.NET Framework applications can only run on Windows platforms. On the
other hand, the ASP.NET Core applications can be developed and run on different platforms such as
Windows, Mac, or Linux operating systems. We can host the earlier ASP.NET Framework applications
only on IIS, whereas we can host the ASP.NET Core applications on IIS, Nginx, Docker, Apache, etc.

Open Source:
The ASP.NET Core framework is open source, which is the main reason for its popularity. The entire
source code for ASP.NET Core Framework is available at https://github.com/dotnet/aspnetcore, and
you can download the source code. Even if you want, you can also modify and compile your own
version.

.NET is open source on GitHub and has over 100,000 contributions, including 3,700 companies. You
can also contribute or download the source code from the ASP.NET Core Repository on GitHub.

The ASP.NET Core team is always there to support your effort in developing the application. It
receives bug fixing and improvement updates on a regular basis, usually within a short time period.
You don’t have to wait longer for updates.

1
High Performance:
ASP.NET Core is optimized for high performance. Its modular components and the ability to include
only the necessary dependencies make it highly optimized for speed and scalability. Benchmarks
demonstrate that applications developed with ASP.NET Core are significantly faster than those built
with previous versions of ASP.NET.

Unified MVC and Web API Framework:


ASP.NET Core unifies the ASP.NET MVC and ASP.NET Web API into a single programming model,
simplifying the development process for web applications and APIs. That means a single controller
class can handle both.

Lightweight and Modular:


The framework is built to be modular, which means you can include only the necessary components
in your application, reducing its overall footprint and enhancing performance.

Built-in Dependency Injection:


The framework includes a built-in dependency injection (DI) container, which makes it easy to
manage service lifetimes and dependencies.

Cloud-Ready:
ASP.NET Core is designed to be cloud-ready, with features and configurations that facilitate
deployment and scaling in cloud environments like Azure.

Razor Pages:
Razor Pages is a new feature in ASP.NET Core that makes it easier to build page-focused web
applications. It is built on top of the existing ASP.NET Core MVC framework.

Tag Helpers:
Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor
files, enhancing the productivity of developers working on the view layer.

Middleware:
ASP.NET Core uses middleware to handle requests and responses. Middleware components can be
composed in a pipeline to process requests and responses, providing great flexibility and control over
the application’s behavior.

Side-by-Side Versioning:
ASP.NET Core supports running multiple versions of the framework side-by-side on the same
machine, which allows for seamless upgrades and backward compatibility.

CLI Support:
Using CLI (Command Line Interface) commands, you can develop, build, and publish .NET applications.
We can develop, build, and run .NET Core Applications using CLI.

Testing:
Applications developed using the ASP.NET Core framework can easily be tested and maintained. This
is possible because it allows you to separate different parts of your application into different
independent pieces and test them independently. Testing frameworks such as MSTtest, xUnit, and
MOQ can be easily integrated into ASP.NET Core applications to simulate any test scenario.

Support for Modern Client-side Frameworks:


It offers support for client-side frameworks like Angular, React, and others and has built-in templates
to get started with these frameworks easily.

2
Robust Security Features:
ASP.NET Core provides features to manage authentication, authorization, data protection, SSL
enforcement, app secrets, CSRF protection(Cross-site request forgery : is a type of cyber attack that
tricks a user into performing an action that changes the state of a website or web application using
their credentials. This action could be transferring funds, changing an email address, or making a
purchase. CSRF attacks can also be called one-click attacks or session riding.), and more, which are
essential for securing web applications and web services.

Configuration and Environment Management:


It has a robust configuration system can read settings from various sources, such as JSON files,
environment variables, command-line arguments, etc. It also provides features to handle different
environments, such as development, staging, and production, in a streamlined manner.

Excellent Developer Tools:


You have multiple options to develop ASP.NET Core applications. You can use either Visual Studio or
Visual Studio Code or any third-party editor of your choice, such as ATOM, Sublime, etc.

ASP.NET Core also comes with a lot of preloaded tools. Anybody would love to work with these tools
due to their simplicity and ease. Using Libmam (Libmam allows the installation of Bootstrap and
jQuery easily), ReSharper (ReSharper provides on-the-fly code analysis and eliminates errors in C#,
VB.NET, XAML, ASP.NET, and XML), etc.

.NET Core Support Policy and Release Lifecycle:


The latest version of .NET Core is .NET 8, released in November 2023. Beginning with .NET 5.0,
Microsoft .NET core has been re-branded as .NET. So, from .NET 5, the word Core will not be used,
and they will be called .NET 6, .NET 7, .NET 8, NET 9, etc.

A new major release of .NET Core is published every year in the month of November. Even-numbered
releases are LTS releases with free support and patches for three years, and odd-numbered releases
are STS releases with free support and patches for 18 months. For a better understanding of the .NET
Core version

.NET Core Versions

Here,

Long-Term Support (LTS) Releases: These versions are supported for three years after their initial
release. LTS releases are focused on stability and are intended for long-term usage in production
environments.
Short-Term Support (STS) Releases: These are supported for 18 months from the release date. They
are also suitable for production but do not have the extended support period that LTS versions offer.

3
Customers can choose Long Term Support (LTS) releases or Standard Term Support (STS) releases. The
quality of all releases is the same. The only difference is the length of support. LTS releases get free
support and patches for 3 years. STS releases get free support and patches for 18 months.

Please check the below URL for more detailed information:


https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core

.NET Core Versions Overview


.NET Core 1.0
Release Date: June 27, 2016

Key Features:
Cross-Platform: For the first time, .NET applications run on Windows, macOS, and Linux.
Modular Framework: Applications could include only the necessary libraries, reducing overhead.
ASP.NET Core: A new, unified web framework for building modern web applications.
Command-line tools: Provided robust command-line tools (CLI) for all supported platforms, which
facilitated various development tasks outside of Visual Studio.
Entity Framework Core: A lightweight, extensible, cross-platform version of Entity Framework for data
access.
Support Status: End of support

.NET Core 1.1


Release Date: November 16, 2016

Key Features:
Performance Improvements: Enhanced runtime performance and efficiency.
Additional APIs: Expanded the set of APIs available to developers.
Tooling Improvements: Better tools for development, including command-line tools.
Support Status: End of support

.NET Core 2.0


Release Date: August 14, 2017

Key Features:
ASP.NET Core Razor Pages: Simplified the creation of page-centric web applications.
Enhanced Compatibility: Improved compatibility with existing .NET Framework libraries.
Support Status: End of support

.NET Core 2.1 (LTS)


Release Date: May 30, 2018

Key Features:
Long-Term Support (LTS): First LTS version, ensuring long-term stability and support.
SignalR: Real-time web functionality for adding real-time features to web apps.
HTTP Client Performance: Major improvements in HTTP client performance.
Support Status: End of support on August 21, 2021

.NET Core 2.2


Release Date: December 4, 2018

Key Features:
Diagnostic Improvements: Enhanced diagnostic tools for monitoring and troubleshooting.
Health Checks: Built-in health checks for ASP.NET Core apps.
Azure SignalR Service: Enhanced integration with Azure services.
Support Status: End of support on December 23, 2019

4
.NET Core 3.0
Release Date: September 23, 2019

Key Features:
Windows Desktop Support: Added support for Windows Forms and WPF, enabling desktop
application development.
C# 8.0 Support: New language features like nullable reference types and async streams.
Blazor: Introduced Blazor, enabling C# to run in the browser using WebAssembly.
.NET Core CLI Improvements: Enhanced command-line interface for better development experience.
Support Status: End of support on March 3, 2020

.NET Core 3.1 (LTS)


Release Date: December 3, 2019

Key Features:
Long-Term Support (LTS): Ensured stability and long-term support.
Razor Components: Enhanced Razor Components for building interactive web UIs.
Performance Enhancements: Continued improvements in performance and reliability.
Support Status: Supported until December 2022

.NET 5.0
Release Date: November 10, 2020

Key Features:
Unified Platform: Unified the .NET ecosystem, combining .NET Core and .NET Framework.
Performance Improvements: Continued focus on high performance and scalability.
C# 9.0 Support: Introduced new language features like records and improved pattern matching.
Support Status: Supported until May 2022

.NET 6.0 (LTS)


Release Date: November 8, 2021

Key Features:
Long-Term Support (LTS): Guaranteed support and stability for long-term projects.
.NET MAUI: Introduced .NET Multi-platform App UI for building cross-platform applications.
Minimal APIs: Simplified API creation with a more concise syntax.
Hot Reload: Allowed live code updates without restarting the application.
Support Status: Supported until November 2024

.NET 7.0
Release Date: November 8, 2022

Key Features:
Enhanced .NET MAUI: Improved tools for building cross-platform applications.
Performance Enhancements: Further optimizations in runtime performance.
Updated Language Features: Support for C# 10 and F# 6 with new enhancements.
Containerization: Better support for building and deploying containerized applications.
Support Status: Supported until May 2024

.NET 8.0 (Planned LTS)


Expected Release Date: November 2023

Key Features:
Continued Performance Improvements: Ongoing enhancements in runtime and API performance.
New Language Features: C# 11 with new features to improve developer productivity.
Cloud-Native Enhancements: Improved support for developing and deploying cloud-native
applications.

5
.NET MAUI and Blazor Enhancements: Continued improvements to these frameworks for building
modern web and mobile applications.
Support Status: Supported until November 2026

What the ASP.NET Core Doesn’t Have?


If you come from an ASP.NET background, you will not find the following things in ASP.NET Core.

 The Global.asax file


 Web.Config file
 HTTP Handlers and HTTP Modules
 ASP.NET Page Life-Cycle model

Differences Between .NET Framework and .NET Core Framework


.NET Framework:
.NET Framework is designed to run only on Windows operating systems. It is tightly integrated with
Windows, which makes it optimized for desktop and server-based applications on this OS.
.NET Framework comes as a large, monolithic package that includes all features, which can lead to
unnecessary resource consumption for applications that do not need all its capabilities.
.NET Framework does not match the performance improvements in .NET Core due to its older
architecture and design constraints.
.NET Framework is in maintenance mode, with Microsoft primarily releasing security updates and
critical fixes. No new features are being added to the .NET Framework.
.NET Framework is developed and maintained by Microsoft.
.NET Framework is best for applications that are tightly integrated with the Windows ecosystem, such
as desktop applications, or for maintaining large existing applications that were built with it.
.NET Core:
.NET Core is a cross-platform framework that can run on Windows, Linux, and macOS. This makes it
suitable for applications that need to operate across multiple operating systems.
.NET Core is modular, allowing developers to include only the necessary packages via NuGet. This
results in lighter applications that are optimized for performance and resource usage.
.NET Core is optimized for high performance and scalability. It includes optimizations such as a smaller
memory footprint and faster startup times, making it suitable for microservices and cloud
applications.
.NET Core is in development mode, with new features, performance improvements, and
enhancements being added regularly.
.NET Core is open source on GitHub and has over 100,000 contributions, and 3,700 companies have
already contributed.
.NET Core is ideal for building modern web applications, microservices, and applications that require
cross-platform functionality.

Understanding .NET Core (.NET) vs ASP.NET Core:


Many people are confused between ASP.NET Core and .NET Core. Please note that ASP.NET Core
and .NET Core are not the same. They are different, just like ASP.NET and .NET Framework are
different. ASP.NET Core is a fast, lightweight, modular, and open-source framework for creating Web
Applications, Mobile Applications, and Web Services that run on Windows, Linux, and macOS. .NET
Core is the Runtime Environment on which ASP.NET Core applications run. For a better
understanding, please have a look at the following diagram:

.NET Core (.NET) vs ASP.NET Core

.NET Core (.NET):


1. .NET Core (.NET) is the cross-platform software. It provides the Runtime Environment where the
ASP.NET Core Web Applications will run.
2. Install .NET Core Runtime to run applications and install .NET Core SDK to build applications.
3. .NET 8 is the latest stable version.

6
ASP.NET Core:
1. ASP.NET Core is an Open-Source, Cross-Platform Framework using which we can develop different
types of Web Applications, such as MVC, Web API, Razor Pages, etc.
2. If you want to develop and run .NET Core Applications, you need to install the .NET Core SDK,
including the .NET Runtime. If you only want to run .NET Core Applications, you need only install
the .NET Core Runtime.
3. ASP.NET Core 8 is the latest stable version.

Note: There is no separate versioning for ASP.NET Core; it is the same as the other .NET Core versions.

.NET Core GitHub Repository:


Runtime: https://github.com/dotnet/runtime
SDK: https://github.com/dotnet/sdk
GitHub Repository: https://github.com/dotnet/aspnetcore

You might also like