HTML Diff
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