0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>ASP.NET Core 3 -- кроссплатформенный, высокопроизводительный и абсолютно беспалый фреймворк от Майкрософт (Microsoft). Да-да вы не ослышались -- беспалый и кроссплатформенный. Это означает, что вы можете использовать его на Linux-подобных серверах.</p>
1
<p>ASP.NET Core 3 -- кроссплатформенный, высокопроизводительный и абсолютно беспалый фреймворк от Майкрософт (Microsoft). Да-да вы не ослышались -- беспалый и кроссплатформенный. Это означает, что вы можете использовать его на Linux-подобных серверах.</p>
2
<h2>Кто выбирает ASP.NET Core 3?</h2>
2
<h2>Кто выбирает ASP.NET Core 3?</h2>
3
<p>Миллионы разработчиков, которые знакомы с ASP.NET 4.x (старые версии не кроссплатформенные) и которые хотят использовать знакомый и мощный инструмент.</p>
3
<p>Миллионы разработчиков, которые знакомы с ASP.NET 4.x (старые версии не кроссплатформенные) и которые хотят использовать знакомый и мощный инструмент.</p>
4
<p><strong>ASP.NET Core 3 дает нам следующие преимущества</strong>:</p>
4
<p><strong>ASP.NET Core 3 дает нам следующие преимущества</strong>:</p>
5
<ol><li>Спроектированный для UI (user interface) и веб API.</li>
5
<ol><li>Спроектированный для UI (user interface) и веб API.</li>
6
<li>Удобная система юнит-тестов.</li>
6
<li>Удобная система юнит-тестов.</li>
7
<li>Использует движок Razor, который позволяет сделать html динамическим.</li>
7
<li>Использует движок Razor, который позволяет сделать html динамическим.</li>
8
<li>Кроссплатформенный. Т. е. вы можете запускать как на Windows, так и на macOS and Linux.</li>
8
<li>Кроссплатформенный. Т. е. вы можете запускать как на Windows, так и на macOS and Linux.</li>
9
<li>Опенсорсный т. е. с открытым исходным кодом.</li>
9
<li>Опенсорсный т. е. с открытым исходным кодом.</li>
10
<li>Хорошо интегрирован с современными клиентскими фреймворками (кстати в VS есть очень удобные шаблоны под Angular и React).</li>
10
<li>Хорошо интегрирован с современными клиентскими фреймворками (кстати в VS есть очень удобные шаблоны под Angular и React).</li>
11
<li>Содержит удобные инструменты для хостинга в облаке.</li>
11
<li>Содержит удобные инструменты для хостинга в облаке.</li>
12
<li>Встроенная система разрешения зависимостей или DI (dependency injection).</li>
12
<li>Встроенная система разрешения зависимостей или DI (dependency injection).</li>
13
<li>Облегченный (т. е. нет тех огромных зависимостей, что были в старых ASP.NET 4.x). Хорошо оптимизирован, что выдает высокую скорость работы. Поддерживает принцип модульности для HTTP-запросов через pipeline (пайплайн).</li>
13
<li>Облегченный (т. е. нет тех огромных зависимостей, что были в старых ASP.NET 4.x). Хорошо оптимизирован, что выдает высокую скорость работы. Поддерживает принцип модульности для HTTP-запросов через pipeline (пайплайн).</li>
14
<li>Ability to host on IIS, Nginx, Apache, Docker or self-host in your own process.</li>
14
<li>Ability to host on IIS, Nginx, Apache, Docker or self-host in your own process.</li>
15
<li>Самое крутое, что можно хостить не только на IIS (веб-сервак чисто под винду) :). Но также на Nginx, Apache, Docker и self-host (т. е. вообще без сторонних серверов, запустил на своем ПК и, пожалуйста, работай.)</li>
15
<li>Самое крутое, что можно хостить не только на IIS (веб-сервак чисто под винду) :). Но также на Nginx, Apache, Docker и self-host (т. е. вообще без сторонних серверов, запустил на своем ПК и, пожалуйста, работай.)</li>
16
</ol><h2>В чем же разница ASP.NET Core 2.x, 3.x .NET Framework (старая версия) и .NET Standard?</h2>
16
</ol><h2>В чем же разница ASP.NET Core 2.x, 3.x .NET Framework (старая версия) и .NET Standard?</h2>
17
<p>ASP.NET Core 2.x может работать с ASP.NET Core или .NET Framework. Но имейте в виду, что если вы добавите библиотеку из .NET Framework в свой проект на Core, то она будет работать только на MS Windows. Чтобы убрать такую проблему, Microsoft предлагает использовать промежуточный фреймворк .NET Standard. Не пугайтесь, это не еще какой-то новый бла-бла-бла фреймворк от Майкрософта. Для меня это просто шаблон в VisualStudio, который я должен использовать при разработке библиотек. Используйте это как правило. А язык и всё остальное тут везде одинаковые.<strong>Другими словами, если у вас в проекте попадается библиотека на .NET Framework, скорее всего, из-за одной такой "овцы" приложение не будет работать кроссплатформенно</strong>. И вам придется арендовать Windows Server, которые заметно дороже Linux-подобных.</p>
17
<p>ASP.NET Core 2.x может работать с ASP.NET Core или .NET Framework. Но имейте в виду, что если вы добавите библиотеку из .NET Framework в свой проект на Core, то она будет работать только на MS Windows. Чтобы убрать такую проблему, Microsoft предлагает использовать промежуточный фреймворк .NET Standard. Не пугайтесь, это не еще какой-то новый бла-бла-бла фреймворк от Майкрософта. Для меня это просто шаблон в VisualStudio, который я должен использовать при разработке библиотек. Используйте это как правило. А язык и всё остальное тут везде одинаковые.<strong>Другими словами, если у вас в проекте попадается библиотека на .NET Framework, скорее всего, из-за одной такой "овцы" приложение не будет работать кроссплатформенно</strong>. И вам придется арендовать Windows Server, которые заметно дороже Linux-подобных.</p>
18
<p><strong>Теперь важное замечание! ASP.NET Core 3.0 и выше будет работать только с .NET Core 1.x, 2.x. Как я понял, даже без .NET Standard.</strong></p>
18
<p><strong>Теперь важное замечание! ASP.NET Core 3.0 и выше будет работать только с .NET Core 1.x, 2.x. Как я понял, даже без .NET Standard.</strong></p>
19
<h2>Что уберут или заменят в ASP.NET Core 3:</h2>
19
<h2>Что уберут или заменят в ASP.NET Core 3:</h2>
20
<ol><li>Json.NET (Newtonsoft.Json) - Newtonsoft уберут и заменят на нативную (родную) реализацию, которая должна работать значительно быстрее предшественника. Работать она будет с использованием нового unsafe-класса Span[T], ReadOnlySpan[T].</li>
20
<ol><li>Json.NET (Newtonsoft.Json) - Newtonsoft уберут и заменят на нативную (родную) реализацию, которая должна работать значительно быстрее предшественника. Работать она будет с использованием нового unsafe-класса Span[T], ReadOnlySpan[T].</li>
21
<li>Entity Framework Core (Microsoft.EntityFrameworkCore.*).</li>
21
<li>Entity Framework Core (Microsoft.EntityFrameworkCore.*).</li>
22
</ol><p><em>Больше статей о программировании читайте в<a>моем блоге</a>.</em></p>
22
</ol><p><em>Больше статей о программировании читайте в<a>моем блоге</a>.</em></p>
23
23