Обзор: Visual Studio 2017 - лучшая из всех

Два года назад, когда я рассматривал Visual Studio 2015, я подумал, что IDE Microsoft стала самым сложным продуктом в истории, и Microsoft придется упростить его в будущем. Я был неправ в одном отношении: хотя Microsoft исключила несколько функций из Visual Studio 2017, она добавила гораздо больше. Но, конечно же, Microsoft удалось создать более простую и гибкую среду IDE в Visual Studio 2017, несмотря на расширение ее возможностей.

В отличие от некоторых прошлых версий Visual Studio, которые были ориентированы на внедрение сложных новых специфичных для Microsoft технологий, таких как Windows Communication Foundation и Windows Workflow Foundation, Visual Studio 2017 устанавливается и работает лучше и быстрее, поддерживает больше языков и платформ программирования, повышает продуктивность разработчиков и применяет для кросс-платформенных рабочих нагрузок естественным образом.

Для большинства пользователей Visual Studio 2015 обновление до Visual Studio 2017 не составит труда. Давайте выясним, почему.

Больше и меньше

В некоторых отношениях Visual Studio 2017 выглядит даже больше, чем предыдущие версии Visual Studio. Его расширяющаяся коллекция целей разработки теперь включает Windows, Android, iOS, Linux, MacOS, .Net Core, Anaconda, веб-приложения и подключенные службы Azure, Docker, Office и веб-разработку с помощью ASP.Net, HTML5 / CSS3, JavaScript, Node. .js, Python или (большое вдохновение) TypeScript. Что за список - и он даже не полный, поскольку есть дополнительные поддерживаемые технологии, такие как SQL Server, Visual Studio Extensions и R.

Как вообще связать веб-разработку с ASP.Net с разработкой для Android и iOS? Что ж, есть способ сделать все вышеперечисленное на C # с Xamarin и Mono в качестве технологий для мобильной стороны. Однако это не единственный вариант для мобильных устройств в Visual Studio 2017.

Возможно, вам не нравится C #, но вы все равно хотите разрабатывать для Android и iOS. Тогда как насчет использования C ++ или JavaScript? Оба языка поддерживают рабочие нагрузки для мобильной разработки. По мере того, как вы копаете глубже, стратегия Visual Studio иметь что-то для всех, связанное с общими интерфейсами (как UI, так и API), начинает обретать смысл. В конце концов, большинство разработчиков программного обеспечения по необходимости владеют несколькими языками, когда дело касается языков программирования и связанных с ними технологий. Времена, когда можно было писать все на Фортране, давно прошли. Большинство компаний твердо придерживаются мнения о своих «стандартных» языках и средах разработки.

А как насчет установки? Огромный размер установки Visual Studio был проблемой с момента появления первого продукта Visual Studio 20 лет назад. Visual Studio 2017 имеет гораздо более модульный установщик, чем предыдущие версии (см. Рисунок ниже), что является долгожданным улучшением. Как ни странно, минимальная установка составляет относительно небольшие сотни мегабайт. Однако полная установка Enterprise Edition занимает от 30 до 40 ГБ в зависимости от предварительных требований, уже установленных в системе. Microsoft сообщает мне, что средняя установка вдвое меньше.

Не только Microsoft виновата в размере полной установки. Например, только эмулятор Google Android использует более 17 ГБ. Это означает, что сама Visual Studio намного меньше, чем раньше, хотя она охватывает все дополнительные целевые системы.

Какие новости?

Что нового и интересного в Visual Studio 2017 может побудить вас перейти с Visual Studio 2015 с текущим пакетом обновления? Microsoft утверждает, что IDE работает быстрее «от запуска до завершения работы» и теперь предоставляет способ просмотра, редактирования и отладки кода без проектов и решений. Microsoft также утверждает, что улучшения навигации по коду, IntelliSense, рефакторинга, исправлений кода и отладки экономят ваше время и усилия при выполнении повседневных задач независимо от языка и платформы. Конечно, все это приятно иметь, но достаточно ли повышения производительности, чтобы заставить вас обновиться? Я постараюсь описать, что они чувствуют на практике, когда буду обсуждать IDE.

Если вы не хотите выполнять полную установку, потому что вам не хватает места на диске или вас не интересуют все аспекты продукта, модульный установщик намного удобнее, чем установщик Visual Studio 2015. С другой стороны, как часто вы устанавливаете Visual Studio? Пару раз в год с обновлениями каждые несколько недель? Я ценю улучшение, но оно не должно иметь большого влияния, если только вы не ограничены дисковым пространством - например, если вы разрабатываете на портативном компьютере с твердотельным диском на 128 ГБ.

С другой стороны, более быстрая IDE имеет огромное значение. Запуск Visual Studio и загрузка решения стали заметно быстрее за последние несколько итераций: от «Я лучше пойду вскипятить воду и заварить чай, пока открывается мой проект» в Visual Studio 2008 до нынешнего «Дай мне просто встать и потянуться. несколько секунд, пока откроется мой проект ». Что касается работы с кодом без проектов и решений, ну, я хотел этого всего 20 лет, начиная с Visual Studio 97.

Microsoft рекламирует встроенный набор инструментов Azure, которые позволяют настраивать, создавать, отлаживать, упаковывать и развертывать приложения и службы в Microsoft Azure непосредственно из IDE. Если вы используете Azure, это победа: переключение между консолью Azure, командной строкой Azure и Visual Studio может отвлекать и прерывать ваш рабочий процесс. Однако, если AWS является вашим основным облаком, вас это может вообще не волновать.

Наконец, Microsoft обещает, что с Visual Studio 2017 и Xamarin быстрее и проще, чем когда-либо, создавать, тестировать и отлаживать мобильные приложения для Android, iOS и Windows. Если Xamarin наконец-то перестанет работать на Android и iOS без ошибок (которые я тщательно не тестировал), и если конструктор XAML стал достаточно быстрым, чтобы его использовать, не заставляя меня выбросить компьютер на улицу, это будет большим плюсом.

По последнему вопросу Microsoft утверждает, что около 90 процентов накладных расходов на открытие конструктора XAML ушли. В соответствии с этим утверждением, теперь я наблюдаю пятисекундную паузу с сообщением «загрузка дизайнера ...», что, безусловно, лучше, чем минуту или около того, которые дизайнер использовал для загрузки. Я также вижу более быструю реакцию как на перетаскивание виджетов на поверхность конструктора, так и на ввод в окно кода XAML. Задержка при синхронизации двух окон все еще заметна, но больше не заставляет меня думать, что Visual Studio могла дать сбой.

Вы также можете разрабатывать кроссплатформенные мобильные приложения в Visual Studio 2017 с Apache Cordova или Visual C ++. Сценарий использования мобильной разработки с помощью JavaScript и Cordova очевиден, и многие люди уже полагаются на него в кроссплатформенных мобильных приложениях. Но зачем нам разработка кроссплатформенных библиотек Visual C ++ между iOS и Android? Оказывается, многие разработчики мобильных приложений на C ++ это оценят. Для мобильных игр и потребительских приложений общий код, обычно на C или C ++, составляет значительную часть проекта, а пользовательский интерфейс написан на Objective C ++ или Java поверх.

Хотя Visual Studio 2017 действительно поддерживает некоторые разработки под iOS и MacOS из Windows, вам все равно понадобится Mac. Почему? Для отладки консольных приложений и ASP.Net для MacOS, для создания графического интерфейса пользователя для MacOS, а также для создания и отладки приложений для iOS.

C ++ - это сама модель современного переносимого языка, и он часто используется для разработки приложений, работающих в нескольких операционных системах. Отчасти поэтому Microsoft также добавила поддержку C ++ для разработки Linux в этом выпуске и улучшила его соответствие стандарту C ++.

Что ушло?

В Visual Studio 2017 нет нескольких редко используемых функций. Однако в настоящее время вы можете положиться на некоторые особенности, которые так жаждали фьордов; они все еще доступны, но только если вы запускаете старую версию рядом с новой. Это все еще может помешать вашему внедрению, потому что установка нескольких экземпляров Visual Studio (особенно более старых версий) на один диск практически требует дискового пространства.

Silverlight, неподходящее подмножество Windows Presentation Foundation для доставки мультимедиа и полнофункциональных интерактивных приложений из надстройки браузера, было на пике популярности в начале 2010-х годов и теперь не рекомендуется. Я пропущу внутреннюю борьбу Microsoft за власть между лагерем Silverlight и лагерем HTML5; достаточно сказать, что Silverlight проиграл. Поэтому неудивительно, что в Visual Studio 2017 отсутствует поддержка разработки Silverlight. Если вам нужно поддерживать старые приложения Silverlight, вам придется продолжать использовать Visual Studio 2015.

Точно так же Microsoft больше не производит смартфоны на Windows Phone и отказывается от старых версий Windows Phone и Windows Store в пользу Windows 10. В зависимости от версии Windows Phone, которую вам необходимо поддерживать, придерживайтесь Visual Studio 2015 или Visual Studio 2012.

Microsoft отказалась от моделирования UML из Visual Studio 2017 и не планирует в дальнейшем инвестировать в UML. Вместо этого в нем есть моделирование слоев, диаграммы зависимостей и проверка кода на уровне архитектуры. Вы также можете создавать и развертывать расширения для моделирования слоев.

Если вам действительно нужен UML в Visual Studio 2017, вы можете использовать один из сотен доступных сегодня инструментов UML, многие из которых бесплатны и имеют открытый исходный код, а некоторые из них в настоящее время включают расширения Visual Studio.

Установка Visual Studio 2017

Я установил Visual Studio 2017 на две машины с Windows 10: ноутбук с очень маленьким SSD и башню с жестким диском приличного размера. Обратите внимание, что я использовал релиз- кандидат от февраля, а не финальную версию, которая должна выйти на вторую неделю марта. На ноутбуке уже была установлена ​​Visual Studio 2015; на башне была установлена ​​предварительная версия Visual Studio 15, которая была предшественницей Visual Studio 2017. Я использовал веб-установщик от MSDN. На самом деле, я никогда не видел предлагаемого установочного образа ISO, хотя это не значит, что его не существует.

Я надеялся, что установщик Visual Studio 2017 будет достаточно умен, чтобы предложить удалить Visual Studio 2015, когда обнаружит, что на SSD ноутбука недостаточно места для обеих версий. Нет такой удачи. Поскольку существуют варианты использования Visual Studio 2017 и Visual Studio 2015 на одном компьютере, установка Visual Studio 2017 в основном меня выручила. Мне пришлось вручную удалить все, что напоминало Visual Studio 2015 и более старые версии связанных технологий, таких как SQL Server, и это заняло у меня около часа и требовало постоянного вмешательства. Затем я смог установить полезный большой фрагмент Visual Studio 2017. Программа установки сохранила текущую вкладку требований к пространству на диске для рабочих нагрузок и модулей, которые я выбрал, и не продолжала работу, пока не убедилась, что все выбранное подходит.

Я искренне думал, что удаление вручную было ненужным трудом. С другой стороны, единственное, что могло бы облегчить мою работу, - это мастер удаления старых версий Visual Studio.

На вышке я смог выбрать все рабочие нагрузки Visual Studio 2017 и нажать «Установить». Процесс мог занять час. Я не знаю наверняка, потому что я смог уйти и вернуться, чтобы найти его завершенным. Думаю, это первый раз, когда я могу сказать такое об установке Visual Studio.

Новая модульная установка кажется большой победой. Предлагаемые варианты логически разделены на «рабочие нагрузки», и в любую рабочую нагрузку вы можете легко включить или исключить определенные компоненты, такие как эмулятор Google Android, который мне изначально пришлось исключить на ноутбуке для установки остальной части рабочей нагрузки Xamarin Mobile. Предположительно, вы можете установить всего несколько сотен мегабайт и при этом иметь рабочую среду, что хорошо для членов команды с конкретными обязанностями и небольшими дисками.

Быстрее, умнее, лучше

С тех пор, как я использовал (и разрабатывал) IDE, то есть более 25 лет, название игры было продуктивность программиста. Даже в старые плохие времена миникомпьютеров и рабочих станций самой большой стоимостью создания программного обеспечения была заработная плата разработчиков. Теперь, когда затраты на оборудование и программное обеспечение измеряются тысячами долларов, а не десятками тысяч, а годовая зарплата программистов превышает 100 000 долларов, а не менее 50 000 долларов, продуктивность программиста становится еще более важной для итоговой прибыли. Давайте посмотрим на функции Visual Studio 2017, которые направлены на повышение производительности - и, по словам Microsoft, «радуют» разработчика.

Оценочная карта Возможность (30%) Производительность (30%) Легкость использования (20%) Документация (10%) Стоимость (10%) Общий балл (100%)
Visual Studio 2017 10 10 9 8 9 9,5