Недавно Microsoft представила Visual Studio for Mac, и многих впечатлило решение выпустить флагманский продукт для чужой платформы после многих лет Windows-эксклюзивности. Но всё не так просто: представленный продукт — не полный аналог привычной Visual Studio, а переименованная и дополненная Xamarin Studio, попавшая в руки Microsoft с покупкой Xamarin. Что эта новость значит для разработчиков? Мы решили задать ряд вопросов девятикратному Microsoft MVP Алексу Тиссену (Xpirit), активно следящему за происходящим в .NET-мире.
— Visual Studio for Mac ощутимо отличается от Windows-версии, так?
— Да, действительно. Ранее, когда этот продукт ещё назывался Xamarin Studio, он был рассчитан на другую аудиторию. Ориентированный на мобильных разработчиков, использующих macOS, он не был задуман полноценной средой для различных сценариев, как Visual Studio для Windows, и не притворялся ей.
— Если Xamarin Studio был предназначен только для мобильной разработки, а теперь Microsoft представляет Visual Studio for Mac и как IDE для разработки бэкенда, означает ли это, что «бэкендная» часть пока что гораздо сырее?
— Имплементация .NET-бэкенда в основном ориентирована на ASP.NET Core и конкретно Web API. Она ещё развивается и потребует дополнительной поддержки вместе с развитием и достижением зрелости всего стека .NET Core. Она сейчас не так стабильна, как мобильная составляющая, но постепенно становится лучше. Переход на .NET Standard и поддержка нового тулинга для этого влияют друг на друга.
— Microsoft, взявшись за продукт, уже ощутимо дополнили его, приблизив по возможностям и виду к традиционному Visual Studio — а как вы думаете, в ближайшем будущем приблизят ещё сильнее?
— Теперь, когда Xamarin — часть Microsoft, и сближение началось, думаю, VS для Mac действительно станет более похож на VS. Впрочем, у меня нет тайных знаний о долгосрочных планах Microsoft в отношении того, на какие сценарии и типы разработчиков они хотят ориентироваться. Прямо сейчас взято направление на full stack-разработку мобильных приложений. Оно покрывает различные мобильные платформы с клиентскими приложениями, а также разработку бэкенда с Web APIs и сайтов с использованием ASP.NET как в Mono, так и в .NET Framework или ASP.NET Core на .NET Core.
Мои ожидания состоят в том, что VS использует платформонезависимые составляющие Visual Studio и возможности редактирования из Visual Studio Code, чтобы соответствовать обоим этим инструментам.
— Насколько совместимы Mac- and Win-версии? Смогут ли разработчики легко переходить между разными ОС, продолжая работать над тем же проектом?
— В отношении проектов совместимы. Обе версии используют одну и ту же MSBuild system, так что открыть проект можно в любой из IDE. На Windows можно разрабатывать для Android, UWP, а также для iOS или MacOS, но понадобится доступ к Apple-устройству для сборки, отладки и деплоя двух последних. В Visual Studio for Mac можно разрабатывать Android, iOS и MacOS, но не UWP-приложения. Это системные ограничения, а не ограничения IDE.
— Microsoft призывает разрабатывать в Visual Studio for Mac бэкенд на .NET Core, но сейчас Core считается большинством не готовым к продакшену. Значит ли это, что прайм-тайм VS for Mac настанет позже с популяризацией .NET Core?
— У .NET Core теперь есть поддержка тулинга во всех версиях Visual Studio (2015, 2017, Code и Mac). Можно спорить о том, готов ли .NET Core к продакшену, но широкое распространение он получит тогда, когда большинство разработчиков решит, что готов. Вне зависимости от окружения, Visual Studio for Mac наберёт обороты вместе с ростом популярности .NET Core, и другие разновидности Visual Studio (2015, 2017 и Code) тоже.
— А насколько велик спрос среди разработчиков на Mac-версию VS?
— Спрос большой. Visual Studio — очень зрелая среда разработки, позволяющая создавать целый ряд типов приложений, и возможность выбирать, на какой ОС это делать — большой плюс. Возможно, не все типы приложений настолько релевантны или вообще осмысленны на macOS, но возможность заниматься не только мобильной разработкой и бэкендом определённо желанная.
— Сейчас на Mac, помимо VS, появляется ещё и Rider от JetBrains — как вы смотрите на его появление и их конкуренцию?
— Новая IDE поможет расширить экосистему и позволить людям выбирать подходящий им инструмент. Думаю, что это привнесёт хорошие идеи, и поможет обоим вариантам стать лучше. А натуральный отбор в итоге позволит лидировать эффективным и популярным IDE, и это может быть одна из них, больше или все сразу.
— Спасибо. Напоследок — не совсем серьёзный, но любопытный вопрос. Было легко спутать Visual Studio «15» с Visual Studio 2015, Visual Studio Code имеет мало общего с Visual Studio, а теперь есть Visual Studio для Mac, которая тоже не совсем Visual Studio. Как по-вашему, можно ли сказать, что у Microsoft проблема с вводящими в заблуждение названиями?
Microsoft теперь использует Visual Studio как бренд для целого семейства продуктов, а изначально это использовалось только для IDE для Windows. И может сбивать с толку то, что теперь слова «Visual Studio» появляются в разных местах, а не только в IDE. Так что «вводящими в заблуждение» я бы это не назвал, но вот «несколько сбивающими с толку» — да.
Появление Visual Studio for Mac — только одно из событий, происходящих сейчас вокруг .NET. 7 декабря на DotNext Helsinki и 9 декабря на DotNext Moscow Алекс Тиссен расскажет ещё о многом новом: темой его доклада станет «Overview of the new .NET Core and .NET Platform Standard». На обеих конференциях расскажут и о другим важном для .NET-разработчиков, от перфоманса до инструментов — вот, например, некоторые из докладов московской:
⬝ Stack Overflow — It's all about performance!
⬝ WinDbg Superpowers for .NET Developers
⬝ Интеллектуальные чатботы и когнитивные сервисы
⬝ Модификация кода .NET в рантайме
⬝ Multithreading Deep Dive
⬝ Собрать всё, или Знакомимся с Cake (C# Make)
⬝ Какие уязвимости находят в .NET платформе и как не повторить их в своих приложениях
⬝ What's new in C# 7?
⬝ ETW — Monitor Anything, Anytime, Anywhere
Автор: JUG.ru Group