Путь Microsoft к платформе .Net длился более 20 лет. На момент своего запуска .Net была ориентирована на монолитные клиент-серверные приложения в строго определенных ИТ-средах. Те дни давно прошли, поскольку мы перешли на слабосвязанное облако, микросервисы и мобильные приложения.

Microsoft шла в ногу со временем и разработала .Net для дивного нового мира облаков. Так что, если у вас есть собственные .Net-приложения, вам не составит труда перейти на новую платформу, но консультанты Microsoft и MVP говорят, что это того стоит.

В общем, у Microsoft было три фреймворка: .Net Framework, оригинал; .Net Core, представленный в 2014 году как преемник Framework, добавляющий поддержку Linux и Mac; и Xamarin, своего рода порт .Net Framework для телефонов Android, который Microsoft приобрела в 2016 году.

В прошлом году Microsoft объявила, что объединит .Net Framework, .Net Core и Xamarin в единую унифицированную платформу под названием .Net 5 Framework, которая была выпущена в ноябре. Microsoft рекомендует начинать все новые проекты в .Net 5 и переносить любой существующий код из старой инфраструктуры.

Последний шаг нетривиален, но с небольшим руководством его можно сделать. Наше родственное издание InfoWorld сделал многочисленные и отличные глубокие погружения в технические аспекты .Net 5, поэтому мы будем придерживаться более высокого уровня, стратегического аспекта новой структуры и того, почему стоит головная боль разрушить вашу существующую инфраструктуру .Net.

Представляем .Net 5

Прежде чем углубляться в объяснение причин, давайте посмотрим, что такое .Net 5. Окончательная версия .Net Framework была 4.8, а .Net Core – 3.1. Чтобы избежать путаницы в версиях, Microsoft перешла к версии 5 для унифицированной платформы. Вы часто будете слышать, как его называют «One .Net».

Путь Microsoft к платформе .Net длился более 20 лет. На момент своего запуска .Net была ориентирована на монолитные клиент-серверные приложения в строго определенных ИТ-средах. Те дни давно прошли, поскольку мы перешли на слабосвязанное облако, микросервисы и мобильные приложения.

Microsoft шла в ногу со временем и разработала .Net для дивного нового мира облаков. Так что, если у вас есть собственные приложения .Net, вам не составит труда перейти на новую структуру, но консультанты Microsoft и MVP говорят, что это того стоит.

В общем, у Microsoft было три фреймворка: .Net Framework, оригинал; .Net Core, представленный в 2014 году как преемник Framework, добавляющий поддержку Linux и Mac; и Xamarin, своего рода порт .Net Framework для телефонов Android, который Microsoft приобрела в 2016 году.

В прошлом году Microsoft объявила, что объединит .Net Framework, .Net Core и Xamarin в единую унифицированную платформу под названием .Net 5 Framework, которая была выпущена в ноябре. Microsoft рекомендует начинать все новые проекты в .Net 5 и переносить любой существующий код из старой инфраструктуры.

Последний шаг нетривиален, но его можно выполнить с небольшими указаниями. Наше родственное издание InfoWorld сделал многочисленные и отличные глубокие погружения в технические аспекты .Net 5, поэтому мы будем придерживаться более высокого уровня, стратегического аспекта новой структуры и того, почему стоит головная боль разрушить вашу существующую инфраструктуру .Net.

Представляем .Net 5

Прежде чем углубляться в объяснение почему, давайте посмотрим, что такое .Net 5. Последняя версия .Net Framework была 4.8, а .Net Core – 3.1. Чтобы избежать путаницы в версиях, Microsoft перешла к версии 5 для унифицированной платформы. Вы часто будете слышать, как его называют «One .Net».

Некоторые из ключевых особенностей .Net 5 включают:

  • Кросс-платформенная реализация
  • Поддержка всех ключевых функций платформы для .Net core, .Net Framework и Xamarin.
  • Открытый исходный код и ориентированный на сообщество
  • Поддержка будущих обновлений Visual Studio Code, Visual Studio 2019, интерфейса командной строки и Visual Studio для Mac.
  • Поддержка специфичных для платформы функций, таких как Windows Forms и WPF в Windows.
  • Параллельная установка
  • Интеллектуальное развертывание и пакеты
  • Небольшие файлы проекта

Помимо поддержки конечных точек, в .Net 5 предусмотрена разработка приложений Azure с использованием сочетания инструментов и фреймворков, включая веб-API, ASP.Net, бессерверные вычисления, базы данных Azure, контейнеры Docker, микросервисы, DevOps и многое другое.

«Dotnet Five – чрезвычайно интересная новая технология и чрезвычайно интересная часть продвижения вперед в этом видении, которое Microsoft часто называет One Dotnet», – сказал Маркус Эггер, президент и главный архитектор программного обеспечения EPS Software и Microsoft MVP.

«И One Dotnet действительно дает вам единую платформу. Поэтому, когда вы думаете о том, как развивалась .Net, с тех пор, как она была впервые представлена ​​более 20 лет назад, ее пришлось переосмыслить и разделить на разные воплощения, разные среды выполнения работают на разных платформах », – добавил Эггер.

Стив Смит, архитектор и инструктор по .Net, который управляет домом разработчиков .Net, назвал Ардалис, говорит, что у вас есть возможность ничего не делать со своим приложением, и в обозримом будущем оно будет работать нормально. «Вам не нужно мигрировать, потому что никто не вытаскивает почву из-под ваших приложений. Но есть много веских причин, по которым вы можете захотеть выполнить миграцию. И будет ли вознаграждение перевешивать затраты или риски, связанные с этим, будет во многом зависеть от типа приложений, которые вы используете », – говорит он.

Что осталось позади

По словам Скотта Хантера, директора по управлению программами .Net в Microsoft, хотя в .Net 5 было развито много технологий, некоторые вещи остались позади. Windows Communication Foundation (WCF) и веб-формы ASP.NET не были перенесены, хотя существует технология замены для ASP.Net под названием Blazor для создания веб-приложений на C #.

«Это те примеры, когда я хотел бы сказать клиенту, что если у вас есть большое приложение веб-форм ASP.Net или большое приложение на основе WTC, возможно, вы просто оставите его там, где оно есть, из-за усилий по переносу», – говорит Хантер. .

Он подчеркнул, что WCF не удаляется, и приложения, которые его используют, не сломаются, просто библиотека больше не будет расширяться. Он был доступен на GitHub как проект с открытым исходным кодом, который Hunter подробно здесь.

Перенести или не перенести

Эггер сказал, что советует клиентам не паниковать и не волноваться из-за изменений в системе. «Некоторые из этих вещей, возможно, просто не нужно перемещать на данном этапе. Поэтому я думаю, что самая большая ошибка, которую делают люди, – это думать, что это еще один из тех случаев, когда они должны выбросить все за борт и снова сделать огромные инвестиции, а это не так. Я думаю, что это может быть гораздо более постепенным », – сказал он.

Смит также считает, что изменения в .Net 5 не так уж радикальны, и большинство основных функций практически не изменились. «Если вы создаете бизнес-приложения в ASP.NET или ASP.NET Core и знакомы с преобладающим шаблоном для этого, которым является MVC (Model View Controller), он будет примерно на 95% совместим с между тем, как это выглядит сейчас, поэтому ваша повседневная работа по работе с контроллерами, представлениями и действиями или конечными точками API очень похожа, и вам будет очень комфортно », – сказал он.

«Я говорю большинству своих клиентов, что если у вас есть приложение, которое отлично работает сегодня, и вы им довольны, не переписывайте его», – сказал Хантер. «Вы знаете, переписывание приложения – дорогое удовольствие. Но я сделаю несколько оговорок; что мы бы сказали большинству наших клиентов, если вы собираетесь создать совершенно новое приложение, создавайте новое приложение на основе новой технологии ».

Причина номер один для поддержки .Net 5 – это производительность. При переносе старых приложений на новую платформу производительность большинства из них повышается на 25–30%, а в некоторых случаях даже после перекомпиляции они становятся быстрее на 50%.

Другие причины для миграции

Другая причина, по которой компания может захотеть перейти на новую структуру, заключается в том, что .Net обновляется каждый месяц как часть Patch Tuesday, что означает исправления, но также и изменения. Это означает, что ваше приложение может сломаться, даже если вы ничего не меняли. Этого не произойдет в .Net 5.

Одним из ключевых клиентов .Net 5 было то, что Microsoft называет бок о бок. .Net 5 является частью среды dotnet Windows, но, начиная с новой версии, он не является частью системы исправлений, поэтому это означает, что у вас есть контроль над тем, когда что-то обновляется, в отличие от автоматического обновления, которое вы не можете предотвратить каждый вторник исправлений.

Microsoft очень хорошо поддерживает миграцию. Если вы хотите перейти, скажем, с SQL Server 2012 на 2019, новая база данных поставляется с мастерами, позволяющими быстро и легко перенести почти все из старой базы данных.

.Net 5 не является исключением и поставляется с парой инструментов миграции. Первый называется анализатором переносимости, который вы запускаете в своем существующем приложении, и он сообщает вам, поддерживаются ли API-интерфейсы, используемые приложением, в .Net 5 или это API, который не работает в кросс-платформенных операционных системах.

Другой продукт называется Try Convert, который преобразует файл проекта, это описание вашего приложения, чтобы увидеть, будет ли оно работать в .Net 5. Он преобразует его для вас. Microsoft также работает над выпуском нового инструмента, который объединяет все свои более мелкие инструменты в единый интерфейс. Это будет приложение, которое вы можете запустить в существующем приложении .Net framework, и оно преобразует файл проекта приложения и исправит ссылки на библиотеки, а также общие вещи в исходном коде, которые Microsoft знает, что может исправить.

Последние советы

Эггер советует ИТ-отделам не спешить с переходом на новую структуру и делать это постепенно. «Вероятно, вы обнаружите, что у вас есть более плавный путь к новым технологиям. А потом вы сможете получать больше по частям. Итак, мы выполняем множество проектов, в которых, как вы знаете, мы заменяем некоторые серверные службы или заменяем некоторые интерфейсные веб-страницы на комбинацию вещей. Но нам не пришлось заменять все остальное. Так что да, не торопитесь в этом смысле. Не волнуйтесь, – сказал он.

Смит сказал, что проще всего будет двигаться вперед, если предприятия переведут свои библиотеки классов на стандартные библиотеки .Net, потому что они могут использоваться ядром .Net. Оттуда относительно просто перенести их на .Net 5.

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

Microsoft не сидит на месте, планируя выпустить .Net 6 в ноябре этого года. An предварительный просмотр только что стал доступен. .Net 6 будет иметь полностью унифицированный кроссплатформенный интерфейс с полной поддержкой Xamarin, поэтому одно приложение будет работать в Windows, Linux, MacOS и Android. Поддержка Blazor будет расширена, и .Net будет поддерживать Arm64 и микросхему Apple.


#Почему #переход #на #Net #стоит #затраченных #усилий

Source link