В наши дни среда разработки Microsoft представляет собой что-то вроде беспорядка, но по крайней мере один набор направлений собирается объединиться. В ближайшем будущем будет только один .NET — управлять ими всеми?
Когда-то казалось, что у Microsoft было четкое представление о том, что такое программирование под Windows. Даже если вы не согласны с этим, вы знали, что это было. Сегодня вы можете использовать практически все, что захотите, и Microsoft изо всех сил пытается не упростить, а включить все, что можно — Python, Linux, как вы его называете, и Microsoft его поддерживает. Некоторые думают, что это здорово, даже если есть некоторые подозрения, что это может быть скорее стратегия «объять, протянуть и погасить» из прошлого. Я не думаю, что это макиавеллистский, я просто думаю, что это отсутствие какого-либо ясного видения. Так что новости о том, что .NET вот-вот снова станет простым, приветствуются.
Конечно, .NET раньше была жемчужиной в короне среды разработки Microsoft. Вы либо писали для .NET, либо боролись с C ++, а кому был нужен COM? Итак, силы хаоса наконец-то сокрушили .NET с новой средой выполнения Windows, которая превратилась в универсальную платформу Windows. Платформа управляемого кода стала настолько незначительной для Microsoft, что она открыла исходный код, пытаясь сделать ее выброс более похожим на второй шанс. Как ни странно, он оказался более успешным, чем вы думаете, но он создал большую проблему для программиста Microsoft. Какой .NET использовать — Core или настоящий? Было ясно, что настоящая вещь обречена, независимо от того, что Microsoft говорила об обратном, а кроссплатформенное ядро с открытым исходным кодом просто не имело всего, что вам нужно.
Эти смутные времена, кажется, почти прошли. На Build 2019 Microsoft объявила, что, казалось бы, нелогично, что следующей версией .NET Core 3 будет .NET 5. Причина, по которой это пять, заключается в том, что реальный .NET имеет версию 4.8, и эта новая версия будет продолжением обеих строк. То есть в будущем будет просто .NET 5.
«В будущем будет только один .NET, и вы сможете использовать его для работы с Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly и многим другим».
На 5 большие планы:
Создайте единую среду выполнения и платформу .NET, которые можно использовать повсюду, с единообразным поведением среды выполнения и интерфейсом разработчика.
Расширьте возможности .NET, взяв лучшее из .NET Core, .NET Framework, Xamarin и Mono.
Создайте этот продукт на основе единой базы кода, над которой разработчики (Microsoft и сообщество) могут работать и расширять вместе, что улучшает все сценарии.
Предполагаемая дата завершения всего этого — ноябрь 2020 года, а 6 и 7 последуют ежегодно в ноябре.
Если у вас есть проекты, основанные на .NET 4.8 и более ранних версиях, вы можете беспокоиться, так как Microsoft, похоже, вернулась к своему обещанию 2018 года:
Если у вас есть существующие приложения .NET Framework, вы не должны испытывать давления при переходе на .NET Core. И .NET Framework, и .NET Core будут продвигаться вперед, и обе будут полностью поддерживаться, .NET Framework всегда будет частью Windows. Но в дальнейшем они будут содержать несколько другие функции. Даже внутри Microsoft у нас есть много крупных линеек продуктов, которые основаны на .NET Framework и останутся на .NET Framework.
Сейчас кажется, что .NET Framework продолжит свое существование, но не будет двигаться вперед в каком-либо значимом смысле.
Есть ли для нас какие-то преимущества в этой новой кроссплатформенной схеме с открытым исходным кодом?
Да, конечно. Отсутствие ответственности Microsoft означает, что .NET вряд ли будет сброшен, но вы должны помнить, что не все .NET 5 будут кроссплатформенными. Все API-интерфейсы пользовательского интерфейса зависят от среды выполнения Windows, и это вряд ли изменится, поскольку Microsoft исключила любой кроссплатформенный код, добавляющий в репозитории.
Преимущество в будущем состоит в том, что по мере того, как исходная .NET Framework становится все более и более забытой, мы можем меньше путаться в вариантах. Один .NET — и все.
Все это хорошие новости для экосистемы .NET, но есть ли у нее более широкое будущее?
Поймет ли Microsoft, что приложения UWP — пустая трата усилий? Телефонов, на которых можно было бы их запустить, больше нет, а планшеты с Windows 10 не пользуются большим успехом. И в любом случае все, что было необходимо, — это несколько настроек существующей Windows и среды программирования, и мы могли бы получить то же самое без потрясений.
Microsoft вполне способна отказаться от UWP в пользу PWA (прогрессивных приложений Windows). Надписи еще не совсем на стене, но вы можете увидеть, как ручка находится в равновесии и готова изобрести какое-нибудь вращение, что делает все это похожим на хитрый план.
Больше информации
Представляем .NET 5
Статьи по Теме
Forms, WPF и UI Go с открытым исходным кодом
.NET Core 3 получает графический интерфейс
Microsoft просит помощи о будущем .NET — с чего начать?
Blazor .NET в браузере
Мост Silverlight к приложениям UWP
Не выгружать .NET — метод Microsoft
Сброс .NET — безумие Microsoft
Microsoft Open Sources .NET?
Был ли .NET ошибкой?
Война с Microsoft — управляемое против неуправляемого
Windows и .NET — надвигающаяся буря
WPF жив!
Microsoft против разработчиков
Чтобы быть в курсе новых статей на I Programmer, подпишитесь на нашу еженедельную новостную рассылку, подпишитесь на RSS-канал и подпишитесь на нас в Twitter, Facebook или Linkedin.
Комментарии
Оставьте комментарий или просмотрите существующие комментарии с помощью Disqus
или отправьте свой комментарий по адресу: comments@i-programmer.info