ASP.NET Core — введение, выбор инструментов

Привет. .NET Core набирает всё большую популярность, и я решил записать несколько статей на эту тему. В данной статье разберёмся в чем различия версий .NET и посмотрим имеющиеся на текущий момент инструменты для разработки.

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

Думаю, первым делом нужно поговорить о кроссплатформенности. Ведь еще не так давно использовать возможности .NET могли только Windows пользователи, либо пользователи Mono. Стоит признать, что Mono всегда был потрясающим инструментом, который активно использовали. Одна только популярность Unity 3D чего стоит. Но, стоит понимать, что Mono не могла поспевать за скоростью развития .NET и реализация отдельного функционала, порой содержала баги. Ведь исходный код .NET Microsoft раскрыла достаточно недавно. Да и команда Mono была не такая большая как у разработчиков Microsoft

Сейчас ситуация кардинально поменялась. Microsoft стала активным участником Open Source сообщества (возможно, даже самым активным, посмотрите статистику GitHub https://octoverse.github.com/)

И сейчас ситуация с .NET следующая

Текущая инфраструктура .NET

Изображение взято отсюда: https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

Если вы, как и ранее, собираетесь писать только под Windows, используя WPF, Windows Forms или ASP.NET. То для вас ничего не меняется. Всё это по-прежнему работает и никуда не уходит. То есть сам .NET Core это только новая реализация .NET. Которая является Open Source и работает в различных ОС, делая .NET по настоящему кроссплатформенным, без каких-то оговорок.

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

Говоря о кроссплатформенности, не нужно забывать об инструментах разработки. Ведь если создаваемые приложения могут работать везде, а при разработке мы были бы ограничены только Windows машинами, это было бы не совсем удобно и, как минимум, странно. Сейчас мы можем выбирать из следующих инструментов:

Visual Studio

На текущий момент это наиболее мощная и удобная IDE. Наличие бесплатной Community версии делает её фаворитом при выборе, при разработке на Windows машинах.

При создании нового .NET Core проекта мы можем выбрать что хотим создать точно так же, как с прочими .NET проектами.

Создание нового .NET Core проекта в Visual Studio 2017

Если вы выбираете создание Web приложения, то на следующем шаге можно выбрать шаблон для вашего проекта. Я выберу MVC приложение, для того чтобы иметь возможность сразу запустить и протестировать его в работе. Но если хотите детальнее разобраться как это всё работает, лучше используйте Empty шаблон.

Шаблоны .NET Core проекта

Получился проект со следующей структурой:

Структура .NET Core MVC проекта в Visual Studio 2017

О самой структуре и о том как это всё работает поговорим в следующих статьях, сейчас давайте запустим созданный проект. После запуска мы получим следующий сайт:

Запущенный в Windows ASP.NET Core сайт

Visual Studio Code

Является отличным кроссплатформенным редактором, который, в настоящее время поддерживает огромное количество языков и технологий. Он отлично работает на Windows, Mac OS и Linux. Например, в Linux, ранее созданный проект будет выглядеть вот так:

ASP.NET Core MVC проект в Visual Studio Code

В режиме отладки:

Режим отладки проекта в Visual Studio Code

Ну а запущенный проект, будет выглядеть точно так же, как это было в Windows:

ASP.NET Core MVC проект запуженный из Visual Studio Code в Linux

Редактор поддерживает подсветку синтаксиса, есть Intellisense, а также существует огромное количество различных плагинов и расширений.

Visual Studio for Mac

Для любителей Mac OS существует полноценная IDE Visual Studio for Mac.

Окно создания нового проекта в Visual Studio for Mac

Как и в Windows мы пошагово можем выбирать необходимые параметры создаваемого проекта.

Параметры .NET Core проекта в Visual Studio for Mac

Окно редактора выглядит следующим образом:

Окно редактора в Visual Studio for Mac

Здесь у вас в наличии есть все преимущества современной IDE но уже под Mac OS. Наличие Community версии делает её превосходным выбором для начала работы под Mac OS.

JetBrains Rider

Это полноценная кроссплатформенная IDE. Данная IDE работает на Windows, Mac и Linux. Работает быстро, поддерживает большинство типов .NET проектов, включая десктопные, web приложения, библиотеки, поддерживает Unity и Xamarin и, конечно, .NET Core. Включает в себя всю мощь ReSharper, который в данном случае является частью IDE, а не отдельным плагином.

Вот так Rider выглядит под Mac OS:

Окно создания нового проекта:

Окно создания нового проекта в JetBrains Rider

Окно редактора:

Окно редактора в JetBrains Rider

После запуска проекта увидим всё тот же сайт:

ASP.NET Core MVC приложение, запущенное в JetBrains Rider из Mac OS

Rider очень мощное и удобное решение. Для тех, кто привык использовать ReSharper или просто Visual Studio ощущения очень приятные, так как не нужно привыкать к чему-то кардинально новому. Из минусов, наверное, только цена. Но здесь нужно понимать, что это действительно кроссплатформенная IDE, которая отлично справляется со своими задачами. К примеру, цена одного ReSharper будет ненамного ниже. К тому же, некоторым Rider предоставляется бесплатно, об этом можно почитать на сайте JetBrains.

Работа с .Net Core в командной строке

Так же не нужно забывать о том, что работать с .NET Core можно посредством командной строки.

Вы можете ввести команду dotnet new тип_проекта для создания нового .NET Core проекта

Введите команду dotnet new --help

И посмотрите, какие типы проектов можно создавать в данный момент:

Типы .NET Core проектов, которые доступны для создания через консоль

Выполнив команду dotnet new mvc -o TestNetCoreWebApp мы можем создать новый ASP.NET MVC проект. Зайдя в его и выполнив команду dotnet run можно его запустить

Создание и запуск ASP.NET Core MVC проекта через консоль

В консоль пишется адрес, по которому мы можем открыть созданный проект в браузере. В данном случае это http://localhost:5000

Внося правки в код проекта, вы так же можете из консоли компилировать проект, работать с библиотеками и зависимостями, что позволяет при необходимости обойтись без IDE или даже без нормального редактора в тех случаях, когда их использование затруднительно.

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

Приятного программирования.

Добавить комментарий