Обзор разработки на платформе ASP.NET Core - super.web
Самара, ул. Советской Армии, 253, оф. 4
Назад к статьям

Обзор разработки на платформе ASP.NET Core

Мы в super.web разрабатываем сложные веб-приложения для организаций и предпринимателей и любим делать это на серверной технологии ASP.NET. Она удобна, обладает рядом преимуществ перед другими видами разработки и позволяет сэкономить. Мы решили рассказать про этот инструмент разработки, в надежде, что статья будет полезна тем техническим командам и руководителям, которые уже используют платформу для своих проектов или только планируют.

Что собой представляет ASP.NET Core

ASP.NET Core — это фреймворк для создания веб-приложений на модульной платформе .NET, которую развивает компания Microsoft с 2002 года. Изначально она была нацелена на работу исключительно на базе Windows, но в 2014 году Microsoft взяла курс на развитие ASP.NET как кроссплатформенной opensource-технологии. С этого момента она стала называться ASP.NET Core и стала работать не только на ОС Windows, но и на MacOS, и на Linux. Но для краткости ее до сих пор называют просто ASP.NET, и, пожалуй, мы поступим так же. В качестве языков программирования для разработки приложений на ASP.NET используются разные языки, в том числе C#, F# и Visual Basic .NET.

Возможности платформы

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

 

Основные инструменты ASP.NET разнесены на три внутренние платформы:

  • ASP.NET Web Forms. Содержит конструктор веб-страниц. Обилие компонентов и элементов управления позволяет создавать полноценные веб-приложения и сайты с пользовательским интерфейсом и доступом к БД. Мы им почти не пользуемся, так как инструмент устарел.
  • ASP.NET Razor Pages. Это самый простой способ создать более современный эквивалент «Классического ASP.NET Web Forms». Razor Pages может сделать программирование с помощью страниц проще и продуктивнее, чем через контроллеры и представления. Мы им почти не пользуемся, так как инструмент устарел.
  • ASP.NET MVC. Здесь можно разрабатывать сложные приложения, иа также одностраничные и динамические веб-сайты. Этим довольно старым инструментом мы почти не пользуемся, хотя и поддерживаем несколько проектов, разработанных на MVC.
  • ASP.NET WEB API. Эта платформа подходит для сборки легко масштабируемых приложений. Инструмент позволяет легко реализовывать HTTP-службы для веб-браузеров, мобильных устройств и других клиентов. Позволяет создать интерфейс (фронтэнд) на любом современном фреймворке: Angular, React, Vue. Мы чаще используем первые два.

 

Дополнительные инструменты, которые мы используем

  • SignalR. Библиотека с открытым исходным кодом. Позволяет отправлять асинхронные уведомления клиентским веб-приложениям с серверного кода.
  • RabbitMQ. Распределенный, горизонтально масштабируемый брокер сообщений, использующий стандарт AMQP. Хорошо подходит для потоковой передачи данных в реальном времени (например, в микросервисах). Также удобен для интеграции компонентов.
  • MQTT. Легкий и эффективный сетевой протокол и по сути брокер сообщений, который работает поверх TCP/IP. Позволяет устройствам обмениваться сообщениями по принципу «издатель-подписчик». IoT-стандарт.

Преимущества и недостатки технологии ASP.NET

Главные преимущества платформы ASP.NET — это ее универсальность, открытый исходный код, популярность и возможность создавать крупные масштабируемые системы, а ведь это сложно делать, например, на PHP или NodeJS.

Разработчики могут писать код для ASP.NET, используя языки программирования, входящие в комплект .NET Framework. Среди них C#, который хорош своей универсальностью — позволяет реализовать любой тип приложения. Подробнее мы уже писали об этом в статье «Почему мы делаем на C#».

ASP.NET позволяет запрограммировать API (используется для интеграции приложения с внешним системами, этакий переходник), которое можно использовать и в веб-приложении, и в мобильном приложении. Так разработка происходит быстрее и дешевле.

С ASP.NET Core и C# отлично работает любая база данных с открытым исходным кодом, например, PostgreSQL. Это также удешевляет разработку приложения. До введения американских санкций в 2022 году во многих системах разработчики использовали MS SQL Server; используют и до сих пор, также и у нас много систем на MS SQL Server на поддержке и доработке.

К недостаткам можно отнести следующие моменты:

  • Vendor lock-in — зависимость от Microsoft, как от поставщика, которая может увеличить сроки и стоимость разработки.
  • Недостаточная производительность, если разработка ведется без Visual Studio и каждая страница компилируется отдельно (небольшие сайты).

Немного про хостинг

Для того, чтобы разместить в интернете ваш проект, выполненный на ASP.NET, вам надо выбрать хостинг, поддерживающий эту технологию. Да, можно разместить приложение и на своих локальных серверах в организации — это добавит управляемости и контроля безопасности. Но и следить за работоспособностью будет не хостер, а тоже вы. Такой подход требует дополнительных специалистов и времени, а также увеличивает риски из-за возможного отсутствия компетентности ответственных лиц.

Отметим, что каждый провайдер, который предлагает Windows-хостинг, поддерживает работу технологии ASP.NET. Об этом читайте наши «Практические советы по выбору ASP.NET-хостинга», которая скоро появится. Однако современные реалии рынка предвещают уход ASP.NET-разработчиков с Windows-хостинга на Linux-хостинг, поскольку Microsoft не продлевает лицензии. Тем не менее, пока что это этот вопрос открыт.

Ну и пара слов в заключение. Если вы — начинающий разработчик, то можете создать небольшой проект на ASP.NET сами. Но если вы технический руководитель или специалист, и вам нужно сложное веб-приложение для бизнеса, а подобного опыта и времени его получать нет, вы можете обратиться к нам за разработкой нового или доработкой существующего проекта.

Также читайте

Как мы помогли заказчику из нефтегазовой отрасли не дать себя обмануть
Приложение из этого кейса позволило нашему заказчику избавиться от неконтролируемых убытков от непроизводственного расхода времени сотрудниками, которые «придумывали» работы.

читать статью