C sharp web framework

Введение в ASP.NET Core

ASP.NET Core представляет технологию для создания веб-приложений на платформе .NET, развиваемую компанией Microsoft. В качестве языков программирования для разработки приложений на ASP.NET Core используются C# и F#.

История ASP.NET фактически началась с выходом первой версии .NET в начале 2002 года и с тех пор ASP.NET и .NET развивались параллельно: выход новой версии .NET знаменовал выход новой версии ASP.NET, поскольку ASP.NET работает поверх .NET. В то же время изначально ASP.NET была нацелена на работу исключительно в Windows на веб-сервере IIS (хотя благодаря проекту Mono приложения на ASP.NET можно было запускать и на Linux).

Однако 2014 год ознаменовал большие перемены, фактически революцию в развитии платформы: компания Microsoft взяла курс на развитии ASP.NET как кроссплатформенной технологии, которая развивается как opensource-проект. Данное развитие платформы в дальнейшем получило название ASP.NET Core , собственно как ее официально именут Microsoft до сих пор. Первый релиз обновленной платформы увидел свет в июне 2016 года. Теперь она стала работать не только на Windows, но и на MacOS и Linux. Она стала более легковесной, модульной, ее стало проще конфигурировать, в общем, она стала больше отвечать требованиям текущего времени.

Читайте также:  Си шарп юнити для начинающих

Текущая версия ASP.NET Core, которая собственно и будет охвачена в текущем руководстве, вышла вместе с релизом .NET 7 в ноябре 2022 года.

ASP.NET Core теперь полностью является opensource-фреймворком. Все исходные файлы фреймворка доступны на github в репозитории https://github.com/dotnet/aspnetcore/.

Архитектура и модели разработки

Текущую архитектуру платформы ASP.NET Core можно выразить следующим образом:

архитектура ASP.NET Core в C# и .NET

На самом верхнем уровне располагаются различные модели взаимодействия с пользователем. Это технологии построения пользовательского интерфейса и обработки ввода пользователя, как MVC, Razor Pages, SPA (Single Page Application — одностраничные приложения с использованием Angular, React, Vue) и Balzor. Кроме того, это сервисы в виде встроенных HTTP API, библиотеки SignalR или сервисов GRPC.

Все эти технологии базируются и/или взаимодействуют с чистым ASP.NET Core, который представлен прежде всего различными встроенными компонентами middleware — компонентами, которые применяются для обработки запроса. Кроме того, технологии высшего уровня также взаимодействуют с различными расширениями, которые не являются непосредственной частью ASP.NET Core, как расширения для логгирования, конфигурации и т.д.

И на самом нижнем уровне приложение ASP.NET Core работает в рамках некоторого веб-сервера, например, Kestrel, IIS, библиотеки HTTP.sys.

Это вкратце архитектура платформы, теперь рассмотрим моделей разработки приложения ASP.NET Core:

ASP.NET Core MVC в .NET 7

  • Прежде всего это базовый ASP.NET Core , который поддерживает все основные моменты, необходимые для работы соввременного веб-приложения: маршрутизация, конфигурация, логгирования, возможность работы с различными системами баз данных и т.д.. В ASP.NET Core 6 в фреймворк был добавлен так называемый Minimal API — минимизированная упрощенная модель, который еще упростила процесс разработки и написания кода приложения. Все остальные модели разработки работаю поверх базового функционала ASP.NET Core
  • ASP.NET Core MVC представляет в общем виде построения приложения вокруг трех основных компонентов — Model (модели), View (представления) и Controller (контроллеры), где модели отвечают за работу с данными, контроллеры представляют логику обработки запросов, а представления определяют визуальную составляющую.
  • Razor Pages представляет модель, при котором за обаботку запроса отвечают специальные сущности — страницы Razor Pages. Каждую отдельную такую сущность можно ассоциировать с отдельной веб-страницей.
  • ASP.NET Core Web API представляет реализацию паттерна REST, при котором для каждого типа http-запроса (GET, POST, PUT, DELETE) предназначен отдельный ресурс. Подобные ресурсы определяются в виде методов контроллера Web API. Данная модель особенно подходит для одностраничных приложений, но не только.
  • Blazor представляет фреймворк, который позволяет создавать интерактивные приложения как на стороне сервера, так и на стороне клиента и позволяет задействовать на уровне браузера низкоуровневый код WebAssembly.

Особенности платформы

  • ASP.NET Core работает поверх платформы .NET и, таким образом, позволяет задействовать весь ее функционал.
  • В качестве языков разработки применяются языки программирования, поддерживаемые платформой .NET. Официально встроенная поддержка для проектов ASP.NET Core есть у языков C# и F#
  • ASP.NET Core представляет кросс-платформенный фреймворк, приложения на котором могут быть развернуты на всех основных популярных операционных системах: Windows, Mac OS, Linux. И таким образом, с помощью ASP.NET Core мы можем как создавать кросс-платформенные приложения на Windows, на Linux и Mac OS, так и запускать на этих ОС.
  • Благодаря модульности фреймворка все необходимые компоненты веб-приложения могут загружаться как отдельные модули через пакетный менеджер Nuget.
  • Поддержка работы с большинством распространенных систем баз данных: MS SQL Server, MySQL, Postgres, MongoDB
  • ASP.NET Core характеризуется расширяемостью. Фреймворк построен из набора относительно независимых компонентов. И мы можем либо использовать встроенную реализацию этих компонентов, либо расширить их с помощью механизма наследования, либо вовсе создать и применять свои компоненты со своим функционалом.
  • Богатый инструментарий для разработки приложений. В качестве инструментария разработки мы можем использовать такую среду разработки с богатым функционалом, как Visual Studio от компании Microsoft. Также можно использовать для разработки среду Rider от компании JetBrains. Кроме того, имеющаяся оснастка .NET CLI позволяет созадвать и запускать проекты ASP.NET в консоли. И таким образом, для написания кода можно использовать обычных текстовый редактор, например, Visual Studio Code .

Источник

ASP.NET

Free. Cross-platform. Open source.
A framework for building web apps and services with .NET and C#.

Supported on macOS, Windows, and Linux

Interactive web UI with C#

Blazor is a feature of ASP.NET for building interactive web UIs using C# instead of JavaScript. Blazor gives you real .NET running in the browser on WebAssembly.

Web Apps

Build full stack web apps with HTML, CSS, JavaScript, and C#

APIs

Develop REST APIs for a range of clients, including browsers and mobile devices

Real-time

Enable bi-directional communication between server and client, in real-time

Microservices

Create independently deployable microservices that run on Docker containers

What is ASP.NET?

.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

ASP.NET extends the .NET developer platform with tools and libraries specifically for building web apps.

Learn ASP.NET

Learn all about ASP.NET has to offer with our tutorials, video courses, and docs.

Fast and scalable

ASP.NET performs faster than any popular web framework in the independent TechEmpower benchmarks.

Data sourced from official tests available at TechEmpower Round 21.

Build secure apps

ASP.NET supports industry standard authentication protocols. Built-in features help protect your apps against cross-site scripting (XSS) and cross-site request forgery (CSRF).

ASP.NET provides a built-in user database with support for multi-factor authentication and external authentication with Google, Twitter, and more.

Active community and open-source

Get quick answers to questions with an active community of developers on Stack Overflow, Microsoft Q&A, and more.

NET is open source on GitHub, with over 100,000 contributions and 3,700 companies already contributing.

Free hosting on Azure

Get 10 ASP.NET websites for free with Microsoft Azure.

You can also deploy to any major cloud platform, your own Linux or Windows servers, or one of many hosting providers.

Ready to get started?

Our step-by-step tutorial will help you get ASP.NET running on your computer.

Источник

ASP.NET Web Apps

Use .NET and C# to create websites based on HTML5, CSS, and JavaScript that are secure, fast, and can scale to millions of users.

Interactive web UI with C#

Blazor is a feature of ASP.NET for building interactive web UIs using C# instead of JavaScript. Blazor gives you real .NET running in the browser on WebAssembly.

Dynamically render HTML with Razor

Razor provides a simple, clean, and lightweight way to create dynamic web content using HTML and C#.

With Razor you can use any HTML or C# feature. You get great editor support for both, including IntelliSense, which provides auto-completion, real-time type and syntax checking, and more.

Seamless integration with your data

The popular Entity Framework (EF) data access library lets you interact with databases using strongly typed objects.

Most popular databases are supported, including SQLite, SQL Server, MySQL, PostgreSQL, DB2 and more, as well as non-relational stores such as MongoDB, Redis, and Azure Cosmos DB.

Build secure web apps

ASP.NET provides a built-in user database with support for multi-factor authentication and external authentication with Google, Twitter, and more.

ASP.NET supports industry standard authentication protocols. Built-in features help protect your apps against cross-site scripting (XSS) and cross-site request forgery (CSRF).

Scaffolding, forms, and validation

Quickly scaffold user interfaces to interact with your data model, including query and update.

Dynamically generate HTML forms based on your strongly typed data model. Declaratively define validation rules, using C# attributes, which are applied on the client and server.

Built-in support for JavaScript UI frameworks

ASP.NET integrates seamlessly with popular JavaScript frameworks. Get started quickly with ASP.NET and React or Angular, using preconfigured templates.

Model View Controller (MVC)

MVC is a design pattern used to decouple user-interface (view), data (model), and application logic (controller). ASP.NET has built-in support for the MVC pattern, making it easy to follow this design pattern.

Your platform, your tools

ASP.NET is cross-platform, allowing you to develop and deploy web apps on your OS.

The Visual Studio product family provides a great .NET development experience on Windows, Linux, and macOS.

If you prefer to use a different editor, there are .NET command-line tools and plugins for many popular editors.

Free hosting on Azure

Get 10 ASP.NET websites for free with Microsoft Azure.

You can also deploy to any major cloud platform, your own Linux or Windows servers, or one of many hosting providers.

Ready to get started?

Our step-by-step tutorial will help you get ASP.NET running on your computer.

Источник

Оцените статью