Введение в 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 можно выразить следующим образом:
На самом верхнем уровне располагаются различные модели взаимодействия с пользователем. Это технологии построения пользовательского интерфейса и обработки ввода пользователя, как 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 , который поддерживает все основные моменты, необходимые для работы соввременного веб-приложения: маршрутизация, конфигурация, логгирования, возможность работы с различными системами баз данных и т.д.. В 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 .
Возможности .NET Core
В последние годы все более популярной становится бесплатная платформа .NET. Она используется многими разработчиками для создания и тестирования приложений, это возможно за счет открытого исходного кода. Одним из вариантов горизонтального увеличения платформы в различные операционные системы стала .NET Core. С ее помощью обеспечивается возможность работы с приложениями, которые разрабатывались для Windows и прочих ОС.
Что это такое
Активное развитие .NET Core стало закономерным итогом работы над приложениями. Одной из главных причин для головной боли практически каждого разработчика являются непредсказуемые условия, в которых будет запускаться та или иная программа. На каждом устройстве используется собственная версия операционной системы, конфигурация, драйверы и т. д., что не всегда позволяет учесть все заранее и сделать приложение рабочим.
Именно по этой причине начались поиска способа унифицировать среду для запуска приложений. И одной из наиболее успешных попыток в этой области можно назвать «Дот Нет», которая была разработана более 20 лет назад компанией Microsoft.
Главная идея ее создания заключалась в том, чтобы добавить специальную программную «прослойку», которая располагалась бы между операционкой и приложением. Именно на эту прослойку были возложены функции сглаживания особенностей конкретной конфигурации ОС, тем самым упрощая запуск программы в имеющейся среде.
Модель .NET активно применяется для разработки приложений следующих видов:
- веб-API и микрослужбы;
- классические и мобильные приложения;
- web-приложения;
- службы «Виндоус»;
- консольные программы и т. д.
Плюс использования платформы заключается в том, что файлы кода и проекта выглядят идентично и не зависят от типа разрабатываемого приложения.
Помимо Windows ОС, платформа dot NET Core также доступна в различных дистрибутивах Linux. Разработчики публикуют новый выпуск практически для всех дистрибутивов «Линукса», почти всегда в них имеется диспетчер пакетов для установки. По этой причине платформа становится все более популярной у программистов и постепенно вытесняет схожие решения.
Начиная с 2016 года было выпущено более 10 версий дополнения. Первые из них назывались .NET Core, однако начиная с 2019 года это название было сокращено до .NET.
Архитектура
.NET Core базируется на архитектуре .NET Framework. Однако есть и несколько кардинальных отличий: например, платформа имеет возможность использования облачных технологий, функционал для кроссплатформенности и модульности. Также в версии Core произошло отделение среды выполнения от библиотеки.
Так как дополнение является модульным, то каждый его компонент обновляется через отдельный менеджер пакетов. Это позволяет обновлять каждый модуль по отдельности. В итоге программа или приложение может работать с отдельными модулями и не зависеть от обновления всей платформы.
Дополнение было разработано корпорацией Microsoft, поэтому является ее собственностью. Однако инструмент был и остается бесплатным для использования.
Удаленный офис
и онлайн-продажи
За 1 день.
С бесплатным тестовым периодом.
Конфигуратор удаленных рабочих мест
Рабочие места для команды за 1 день
Модели развертывания
Одно из основных характеристик «Дот Нет» является гибкое развертывание. Вы можете устанавливать платформу как часть приложения, так и отдельно. При использовании FDD удается уменьшить пакет развертывания, минимизировать использование памяти и дискового пространства.
Развертывание приложений на платформе осуществляется в нескольких режимах:
- При размещении приложения, находящегося в зависимости от платформы, генерируются исполняемые и двоичные файлы, включая ПО и его зависимости. Конечному пользователю для запуска программы необходимо дополнительно запустить среду выполнения. Исполняемый файл напрямую зависит от платформы, а двоичный – DLL – является кроссплатформенным.
- При тестирования автономного приложения используется исполняемый файл, содержащий среду выполнения, библиотеки, а также само ПО и его зависимости. За счет этого пользователи могут открыть программу на устройстве, на котором ранее не устанавливалась среда .NET. Автономные приложения находятся в прямом подчинении у платформы, но при необходимости их можно опубликовать в виде компиляции AOT.
Параллельно возможно использовать разные версии среды для загрузки приложения. Это позволит запускать программы, зависящие от платформы. Исполняемые файлы генерируются для определенной платформы, которые обозначаются специальным идентификатором среды.
Общий код для .NET Core и других платформ
Между платформами, которые базируются на .NET, изначально заложена возможность применения общего кода, так как .NET Core является основой для всех будущих платформ.
Однако возникает вопрос, как этот код работает с платформами, которые базируются на других моделях. Например, при работе с .NET Framework. В этом случае требуется применять переносимые библиотеки классов или общие проекты. Библиотеки подойдут для приложений, общий код которых не завязан на определенные платформы. А для платформ, содержащих специфичный код, завязанный на платформу, подойдут общие проекты.
На сегодня «Дот Нет» поддерживает несколько языков программирования, в том числе C#, F# и Visual Basic .NET.
Кроссплатформенность
Как все знают, в мире существует множество разнообразных ОС, поэтому разработчики заинтересованы в том, чтобы их приложения распространялись в разных операционках. И случаев, когда запустить программу, разработанную для другой операционной системы, невозможно, становится все больше и больше. В этом случае для запуска требуется «портировать» приложение и только потом пытаться установить его в текущей ОС.
В ряде случаев этого можно добиться простым перекомпилированием исходного текста программы. Однако чаще всего это не помогает, а это значит, что программу придется переписывать практически с нуля.
Однако Microsoft учли этот момент при разработке .NET Core. По сути платформа стала играть роль «стандартизирующей» прослойки, которая позволила добиться адаптации исходного кода под среду ОС. Это значит, что приложение для одной операционки без труда будет запускаться в другой.
Такой подход позволил избежать портирования отдельных программ, а портировать только программную прослойку. Для достижения цели Microsoft решили портировать один из компонентов модели .NET, в результате чего и появилась платформа «Дот Нет». Ее функциональность практически полностью совпадает с исходной версией и в чем-то даже стала намного шире.
Сегодня .NET Core активно применяется в трех операционных системах: помимо Windows, это еще Linux и macOS. Это позволяет запускать новые приложения во всех ОС без дополнительных изменений. Именно это качество платформы называется кроссплатформенностью.
Конечно, нужно понимать, что добиться 100% совместимости программ с любыми ОС практически нереально. Даже сейчас на платформе .NET не реализованы WebForms и Windows Forms.
В рамках кросс-совместимости платформа включает в себя и модульную инфраструктуру. Это позволяет получить доступ к пакетным данным и функциям. Благодаря этому значительно упрощается процесс создания ПО, повышается производительность и безопасность процессов.
Кроме этого, модульная инфраструктура помогает быстрее обновлять платформу, так как модули выпускаются и обновляются по отдельности.
Выводы
Характер платформы .NET делает ее незавершенной, поэтому она находится в постоянной доработке и обновлении. Если ранние версии инструмента использовались для приложений с большой функциональностью, то на современных этапах сделан акцент на развитие поддержки API и поддержку Visual Basic.
Главная функция дополнения заключается в предоставлении разработчикам большей свободы и одновременно контроля над процессами, особенно при обновлении и развертывании программ. Не удивительно, что .NET Core становится основным инструментом для разработки приложений разного типа и сложности.
Надеемся, что вы разобрались в том, что такое .NET Core и для чего эта платформа используется в программировании. Если у вас остались вопросы, то задайте их специалистам нашей компании Xelent!
Введение в ASP.NET Core
Платформа ASP.NET Core представляет технологию от компании Microsoft, предназначенную для создания различного рода веб-приложений: от небольших веб-сайтов до крупных веб-порталов и веб-сервисов.
С одной стороны, ASP.NET Core является продолжением развития платформы ASP.NET. Но с другой стороны, это не просто очередной релиз. Выход ASP.NET Core фактически означает революцию всей платформы, ее качественное изменение.
Разработка над платформой началась еще в 2014 году. Тогда платформа условно называлась ASP.NET vNext. В июне 2016 года вышел первый релиз платформы. А в ноябре 2020 года вышла версия ASP.NET Core 5.0, которая собственно и будет охвачена в текущем руководстве.
ASP.NET Core теперь полностью является opensource-фреймворком. Все исходные файлы фреймворка доступны на GitHub.
ASP.NET Core может работать поверх кросс-платформенной среды .NET Core, которая может быть развернута на основных популярных операционных системах: Windows, Mac OS, Linux. И таким образом, с помощью ASP.NET Core мы можем создавать кросс-платформенные приложения. И хотя Windows в качестве среды для разработки и развертывания приложения до сих пор превалирует, но теперь уже мы не ограничены только этой операционной системой. То есть мы можем запускать веб-приложения не только на ОС Windows, но и на Linux и Mac OS. А для развертывания веб-приложения можно использовать традиционный IIS, либо кросс-платформенный веб-сервер Kestrel.
Благодаря модульности фреймворка все необходимые компоненты веб-приложения могут загружаться как отдельные модули через пакетный менеджер Nuget. Кроме того, в отличие от предыдущих версий платформы нет необходимости использовать библиотеку System.Web.dll.
ASP.NET Core включает в себя фреймворк MVC, который объединяет функциональность MVC, Web API и Web Pages. В предыдущих версии платформы данные технологии реализовались отдельно и поэтому содержали много дублирующей функциональности. Сейчас же они объединены в одну программную модель ASP.NET Core MVC. А Web Forms полностью ушли в прошлое.
Кроме объединения вышеупомянутых технологий в одну модель в MVC был добавлен ряд дополнительных функций.
Одной из таких функций являются тэг-хелперы (tag helper), которые позволяют более органично соединять синтаксис html с кодом С#.
ASP.NET Core характеризуется расширяемостью. Фреймворк построен из набора относительно независимых компонентов. И мы можем либо использовать встроенную реализацию этих компонентов, либо расширить их с помощью механизма наследования, либо вовсе создать и применять свои компоненты со своим функционалом.
Также было упрощено управление зависимостями и конфигурирование проекта. Фреймворк теперь имеет свой легковесный контейнер для внедрения зависимостей, и больше нет необходимости применять сторонние контейнеры, такие как Autofac, Ninject. Хотя при желании их также можно продолжать использовать.
В качестве инструментария разработки мы можем использовать последние выпуски Visual Studio, начиная с версии Visual Studio 2015. Кроме того, мы можем создавать приложения в среде Visual Studio Code, которая является кросс-платформенной и может работать как на Windows, так и на Mac OS X и Linux.
Для обработки запросов теперь используется новый конвейер HTTP, который основан на компонентах Katana и спецификации OWIN. А его модульность позволяет легко добавить свои собственные компоненты.
Если суммировать, то можно выделить следующие ключевые отличия ASP.NET Core от предыдущих версий ASP.NET:
- Новый легковесный и модульный конвейер HTTP-запросов
- Возможность развертывать приложение как на IIS, так и в рамках своего собственного процесса
- Использование платформы .NET Core и ее функциональности
- Распространение пакетов платформы через NuGet
- Интегрированная поддержка для создания и использования пакетов NuGet
- Единый стек веб-разработки, сочетающий Web UI и Web API
- Конфигурация для упрощенного использования в облаке
- Встроенная поддержка для внедрения зависимостей
- Расширяемость
- Кроссплатформенность: возможность разработки и развертывания приложений ASP.NET на Windows, Mac и Linux
- Развитие как open source, открытость к изменениям
Эти и другие особенности и возможности стали основой для новой модели программирования.
.NET Core: возможности и перспективы
Я начал следить за платформой .NET Core ещё с момента анонса. В своё время я успел ознакомится с версиями RC1, RC2 и сейчас активно изучаю возможности RTM версии. На сегодняшний момент .NET Core представляет собой легковесное модульное кросс-платформенное решение, позволяющее, помимо прочего, пользоваться всеми преимуществами классического .NET. В этой статье я предлагаю взглянуть на возможности обновлённой платформы и её перспективы.
Предыстория
Появившись в 2002 году, платформа .NET прошла долгий путь и смогла завоевать сильные позиции как надёжное решение корпоративного уровня. Долго время .NET была мультиплатформенной средой, позволяющей создавать серверные и десктопные приложения, приложения для мобильных и встраиваемых устройств, приложения для развёртывания в облачной инфраструктуре. Но при этом не являлась кроссплатформенной и поддерживала исключительно операционные системы семейства Windows.
Скорее всего, если вы слышали про .NET Core, то слышали про него то, что это новый .NET, который работает под Linux и Mac OS X. Именно возможность запуска платформы на ОС, отличных от Windows, и вызвала в свое время множество споров и обсуждений. Хотя, на самом деле, задолго до появления .NET Core уже существовали кроссплатформенные реализация .NET Framework. Два самых известных проекта — небезызвестный проект Mono, который не раз был отмечен даже самой Microsoft, и DotGNU, в свое время поддерживаемый Free Software Foundation. На сегодняшний день проект DotGNU уже закрылся, а вот Mono, наоборот, в последние два года получил активное развитие. Mono представляет собой open source реализацию .NET, поддерживающую операционные системы Linux и Mac OS X. Развивается Mono независимым сообществом разработчиков, которые занимаются реинжинирингом компонентов .NET и создают их кроссплатформенную реализацию. Ввиду этого Mono всегда была «догоняющей» платформой, в которой возможности оригинального .NET появлялись спустя довольно длительное время.
Главное отличие .NET Core от Mono состоит в том, что Mono — это именно перенос «большого» .NET, на платформу *nix. В то время, как .NET Core — это спроектированная практически с нуля платформа, изначально рассчитанная на работу с различными ОС. При этом большая часть кода которой писалась с тем, чтобы платформенно-специфичных зависимостей было как можно меньше. На приведенном ниже графике — соотношение общего кода платформы и кода специфичного для каждого отдельно взятого семейства ОС:
Что нового
По своей сути .NET Core — это практически полная перезагрузка стека .NET Framework. Из новой платформы по разным причинам был исключён ряд технологий. Следует понимать, что платформа .NET Core рассчитана в первую очередь на разработку для серверных и облачных решений. Для десктопных приложений лучше подходят классический .NET для Windows (с поддержкой WPF и Windows Forms) и Mono для Linux и Mac OS X (с поддержкой Windows Forms). Мобильные проекты можно создавать, используя Xamarin. На схеме показано, как технологии распределены внутри различных реализаций .NET:
Таким образом, в .NET Core были исключены:
— ASP.NET WebForms;
— WCF;
— WPF;
— Windows Forms.
Зато инструменты для разработки консольных и веб-приложения получили новый этап развития. При разработке большинство необходимых компонент приложения могут загружаться как отдельные модули через пакетный менеджер NuGet. Это позволяет уменьшить количество избыточных зависимостей и общий размер готового продукта.
На изображении ниже показано, как соотносятся между собой классический .NET и .NET Core.
Open Source. В отличии от классического .NET Framework, код которого по большей части является закрытым, код .NET Core полностью открыт и распространяется под лицензиями MIT и Apache2.
Стоит отметить, что после открытия кода .NET Core команда, занимающаяся разработкой проекта Mono, объявила о намерении объединения кодовой базы тех компонентов Mono, которые реализованы в .NET Core.
Работа в облаке. Как и проект, написанный на классическом .NET, проект на базе .NET Core достаточно легко перенести в облако. Microsoft Azure уже поддерживает размещение .NET Core проектов как в службах Application Services, так и на виртуальных машинах.
Библиотеки для работы с сервисами Microsoft Azure также уже начинают портироваться на .NET Core. Например, Windows Azure Storage уже доступна для работы. Соответственно Azure Storage Services могут использоваться в core-проектах.
Также, для проектов .NET Core появляется возможность размещения на площадках тех облачных провайдеров, которые не обеспечили поддержку Windows окружения, но при этом обладают другими привлекательными возможностями. Например, виртуальные серверы Digital Ocean за счет использования SSD дисков очень быстрые, но на данный момент позволяют разворачивать только ОС семейства Linux. Развернуть проект на .NET Core на подобно сервере не составит труда.
Инструменты для работы с .NET Core
Несмотря на то, что платформа только недавно получила статус RTM (release to market), уже имеется ряд удобных и мощных средств для разработки. Давайте рассмотрим подробнее, какие инструменты доступны уже сейчас для .NET Core разработчиков.
Project Rider — IDE от компании JetBrains, той самой компании, которая создала ReSharper, наверное, самый популярный плагин для Visual Studio. В основе Rider лежат IntelliJ IDEA (являющаяся основной для целого семейства IDE) и наработки, используемые в ReSharper. На данный момент Rider поддерживает разработку как под Mono, так и под .NET Core. Следует помнить, что на данный момент Rider находится в стадии EAP (Early Access Preview) и по сути не предназначен для использования в production, однако уже дает возможность оценить имеющийся потенциал. Rider доступен как под Windows, так и под Linux и Mac OS X.
Visual Studio Code — редактор (хотя уже практически IDE), разработанный компанией Microsoft на базе ядра Electron (того самого, на котором основан Atom). Благодаря большому количеству плагинов VS Code поддерживает разработку не только под Mono и .NET Core, но также и под другие языки, включая Go, C/C++, JavaScript, Typescript, etc. Visual Studio Code работает как под Windows, Linux и Mac OS X.
Visual Studio Community Edition — одна из редакций той самой Visual Studio, которая де факто уже стала эталоном IDE. При этом Community Edition распространяется бесплатно и может быть использована в разработке коммерческого ПО. Естественно, как флагманский продукт компании, именно эта IDE даёт наибольшее количество возможностей для как c .NET/.NET Core, так и с Mono. Единственное ограничение этой IDE — на данный момент существует исключительно версия под Windows. Что впрочем не мешает разрабатывать и отлаживать проекты, которые будут работать под Linux и Mac OS X.
ReSharper — наверное, самый популярный плагин для Visual Studio, который добавляет возможности анализа и рефакторинга кода. Буквально несколько дней назад вышла версия 2016.2, в которой реализована полная поддержка проектов на базе .NET Core.
Существующие решения
Уже сейчас есть несколько интересных проектов для построения веб-сайтов на базе .NET Core:
Platformus CMS. Как пишет о сам автор Дмитрий Сикорский: «Platformus CMS — молодая система управления содержимым веб-сайтов альфа на момент написания статьи), построена на базе не менее молодых ASP.NET Core и ExtCore Framework. Написана CMS на C#. Благодаря возможностям ASP.NET Core, она одинаково хорошо может работать на Windows, Linux и Mac. Сама исполняемая среда, необходимая для работы любого приложения на .NET Core, может быть как установлена отдельно, так и интегрирована непосредственно в само приложение». Подробнее о CMS можно прочитать здесь.
Orchard. Orchard — система управления контентом с открытым исходным кодом от компании Microsoft. Первая версия CMS была анонсирован в марте 2010 года и основывалась на ASP.NET MVC. Вторая версия активно разрабатывается уже на основе ASP.NET Core. Подробности на сайте проекта.
Платформа корпоративного уровня для всех
Обычно, когда говорят про .NET, то в первую очередь подразумевают крупные корпоративные проекты с высокими требованиями к надёжности, масштабируемости и расширяемости. И при этом с дорогой инфраструктурой. Поэтому разработка под .NET всегда была достаточно недешёвым удовольствием. Однако с .NET Core все немного иначе.
Оставляя в наличии все плюсы классической версии, новая версия позволяет значительно снизить инфраструктурные затраты. Хостинг проекта на .NET Core обходится гораздо дешевле хостинга проекта на «большом» .NET. Так в Microsoft Azure самая дешёвая виртуальная машина с возможностью хостинга ASP.NET веб-приложения будет стоит от $13 в месяц. Размещение в службе Azure App Services в тарифе Shared будет стоить от $9 в месяц. При этом размещение проекта на виртуальном сервере у Digital Ocean обойдётся всего в $5 в месяц. При этом количество ресурсов выделяемых на приложение будет гораздо больше, чем у Shared-сервиса, а если сравнивать с виртуальной машиной от Azure, то конфигурация Digital Ocean будет выгодно отличаться наличием SSD диска.
Конечно, для крупных корпоративных проектов подобные суммы не имеют никакого значения. Более того, корпоративная среда достаточно консервативна. Поэтому, на мой взгляд, .NET Core начнёт широко использоваться в enterprise проектах не ранее чем через как это было с ASP.NET MVC. В текущем же своём виде новая платформа будет играть в том же сегменте, где сейчас находятся такие технологии, как Node.js и Ruby — это небольшие проекты с ограниченным бюджетом и невысокой архитектурной сложностью. Крупные решения как и прежде будут реализовываться на «большом». NET. Таким образом, целевой аудиторией .NET являются стартапы и рынок малого и среднего бизнеса.
Выводы
Исходя из всего вышесказанного, можно сделать вывод, что .NET Core позволяет небольшим проектам и стартапам получить все преимущества платформы корпоративного уровня, при этом предоставляя удобные и средства разработки, а также недорогую инфраструктуру. В будущем же неизбежен приход платформы и на крупный корпоративный рынок.
P.S. Если вы заинтересовались разработкой под .NET Core и хотите быть в курсе новостей и тенденция платформы, приглашаю вас присоединиться к группе .NET Core Ukraine User Group. В группе можно обмениваться полезной информацией и сообща находить ответы на возникающие вопросы. Группа ориентирована как на специалистов, которые уже знакомы со стеком технологий от Microsoft и хотели бы изучить возможность развёртывания своих проектов на операционных системах семейства *nix, так и на тех, кто только начинает изучать возможности .NET.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
Подобається Сподобалось 0
До обраного В обраному 2