`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Visual Studio 2013: в фокусе продуктивность

+66
голосов

Если для описания продуктов Microsoft на рынке ПО использовать военную терминологию, то Windows, Office и другие ориентированные на конечного пользователя продукты, составляют фронт, а средства, предназначенные для разработчиков, в частности флагманская IDE Visual Studio (VS), обеспечивают тыл. Разумеется, все внимание публики сосредоточено на фронте, а вот тылу уделяется мало внимания, что весьма несправедливо, поскольку в общем успехе кампании роли обеих составляющих сопоставимы. Попытаемся исправить ситуацию, и в преддверии отправки очередного эшелона на фронт в лице Windows 8.1, обратим внимание на поставку в тылы нового подкрепления в лице VS 2013.

Предыдущая версия IDE, VS 2012 вышла в августе 2012 г., а выпуск RTM VS 2013 запланирован на 13-е ноября нынешнего года. Примечательно, что обычный цикл обновления этой IDE составлял 2-3 года, но в данном случае Microsoft пришлось его сократить, и виной тому — релиз Windows 8.1, запланированный на — на 18-е октября. Судя по всему, раз в Microsoft ранее заявили о более частом выпуске новых версий ОС, то разработчикам впредь следует ожидать и более частых релизов IDE. К слову, установить VS 2013 RC на preview-версию Windows 8.1 нельзя, инсталлятор требует Windows 8.1 RTM, которая в текущий момент доступна только подписчикам MSDN и TechNet.

Еще при формировании концепции VS в Microsoft избрали стратегию универсального инструмента, позволяющего использовать единую среду разработки для множества платформ и технологий. С каждым релизом возможности IDE увеличиваются, и уже сейчас можно утверждать, что во всем мире вряд ли найдется хоть один разработчик, всерьез использующий все возможные языки и платформы, которые поддерживают последние версии VS. Такая сверхуниверсальность требует от создателей IDE исключительного мастерства в поддержании баланса возможностей и удобства их использования, иначе есть шанс повторить судьбу печально известного инструмента IBM VisualAge, павшего под грузом своей функциональности.

Помимо функциональности, выраженной в способностях инструмента создавать определенные решения, современные разработчики ожидают от него и значительного удобства использования, которое сложно описать простым перечислением функций, но в целом, можно охарактеризовать как набор возможностей, позволяющих проще и быстрее решать поставленные задачи. Именно среди разработчиков VS особенно популярен такой инструмент как ReSharper от компании JetBrains, который тесно интегрируется с IDE и не просто расширяет ее функции, но и заменяет многие из них своими аналогами, позволяющими выполнять работу с большей продуктивностью. Сложно сказать, сколько разработчиков на C# использует это расширение для VS от JetBrains, но процент достаточно высок, а многие из них чувствуют себя очень неуютно, когда приходиться работать в IDE без данного расширения.

Судя по всему, именно популярность ReSharper оказала значительное влияние на нововведения в последней версии VS, поскольку, помимо нововведений, связанных с поддержкой новых функций в целевых платформах, явно прослеживается и особое внимание к увеличению производительности труда разработчика, и, к тому же, некоторые из новшеств уж слишком сильно походят на возможности расширения от JetBrains.

Visual Studio 2013: в фокусе продуктивность

Полная установка VS 2013 потребует 13,5 ГБ, минимальная — 6 ГБ

Первое нововведение, с которым разработчик столкнется сразу же при установке — теперь для запуска IDE потребуется опциональная авторизация в облачном сервисе Windows Live, где будет храниться как лицензия на конкретную редакцию среды разработки, так и настройки. С одной стороны это, конечно, удобно, а вот с другой — налицо усиление защиты продукта, которой VS никогда не отличалась. Авторизацию можно пропустить, но в этому случае IDE будет периодически о ней напоминать. Редактор кода

Наиболее важные изменения в редакторе кода можно увидеть с первого взгляда: в глаза сразу бросаются так называемые текстовые индикаторы прямо над программными конструкциями, а также модифицированная полоса прокрутки, отображающая изменения редактируемого файла.

Visual Studio 2013: в фокусе продуктивность

Наиболее интересные нововведения в редакторе кода — текстовые индикаторы и полоса прокрутки, отображающая код проекта в уменьшенном виде

Индикаторы — достаточно интересное нововведение, хотя поначалу и может вызвать неприятие, так как далеко не каждому разработчику будет приятно видеть непосредственно в своем коде еще какие-то посторонний текст. Но после небольшого периода привыкания эта функциональность, скорее всего, большинству придется по душе — на самом деле, действительно очень удобно с первого взгляда понимать скрытые детали кода, например, используется ли определенный программный артефакт, и если используется — то сколько раз. Щелчок мышью по индикатору выводит всплывающее окно с деталями, в случае индикатора использования — список именно тех фрагментов кода, которые используют артефакт, а если курсор мыши навести на элементы списка, то во всплывающей подсказке будут выведены фрагменты кода, по которым можно понять детали использования. Интересно, что подобная функциональность есть и в ReSharper, но реализована по-другому, посредством цветового кодирования — реализация в VS 2013 кажется более удачной.

Отображение правок с помощью цветового кодирования на полосе прокрутки — безусловно, удобная функция, но настоящее сокровище почему-то по умолчанию отключено в настройках редактора: если в настройках полосы прокрутки включить режим «Map Mode», то она превратится в уменьшенное представление кода, которое, разумеется, не позволит его читать, однако значительно облегчит навигацию, поскольку указать место на карте можно гораздо точнее, чем наугад щелкать по полосе прокрутки. К тому же, наведение курсора мыши на область в такой полосе прокрутки выводит всплывающее окно с соответствующим позиции курсора фрагментом кода. В итоге разработчики получают еще одну повышающую производительность функцию, которую рекомендуется активировать при первом же запуске IDE.

Значительному совершенствованию подверглась технология IntelliSense, которая на этапе редактирования проводит анализ кода и выдает подсказки по ходу его набора, а также выделяет ошибочные фрагменты. В частности, теперь IntelliSense работает в процессе связывания данных в XAML-разметке и задаваемые в строковых константах пути связывания данных (bindings) разбираются точно так же, как и обычный код.

При наборе кода IntelliSense сможет выводить подсказки не только в случае, когда названия артефактов вводятся в неверном регистре, но и при вводе произвольной подстроки, а также даже в случае опечаток — сработает алгоритм нечеткой логики, который выведет в подсказках наиболее подходящее название, соответствующее введенным символам.

Следует также отметить, что, по заверениям разработчиков, сам редактор стал отзывчивее, скорость работы некоторых функций, например, IntelliSense, увеличена в разы. Отладчик

В первом обновлении к VS 2012 в редакции Ultimate была добавлена весьма полезная функциональность Code Map, позволяющая строить визуальные карты кода, представляющие собой усовершенствованные графы зависимостей (Dependency Graphs). В VS 2013 функциональность Code Map стала доступна из отладчика — теперь карты кода являются динамическими и позволяют отслеживать переход между отдельными компонентами проекта в процессе отладки. Функциональность, безусловно, весьма полезная при работе с крупными проектами, жаль, что доступна она, как и графы зависимостей, по-прежнему только в наиболее дорогой редакции Ultimate.

Visual Studio 2013: в фокусе продуктивность

Отладчик получил немало нововведений, в том числе, визуальное отслеживание выполнения проекта при помощи карт кода

Также отладчик получил возможность изменения исходного кода 64-битовых приложений прямо в процессе отладки, что ранее было доступно только для 32-битовых (причем, с 2005 г.). Несмотря на то, что полный переход на приложения повышенной разрядности все еще не произошел, эта функция будет полезна всем .NET-разработчикам, использующим для разработки 64-битовые ОС, поскольку при отладке проекта в режиме «Any CPU» эта функция ранее была недоступна.

Еще одно незначительное, но полезное нововведение в отладчике при работе с управляемым кодом заключается в том, что в процессе отладки можно непосредственно увидеть значение, возвращаемое методом. Отметим, что для нативного кода такая возможность присутствовала еще с VS 6.0, но .NET-разработчикам до последнего времени для решения этой задачи требовалось модифицировать код, добавляя промежуточную локальную переменную, которая затем возвращалась в качестве результата.

При охоте за утечками памяти может быть полезна новая функциональность создания «снимков памяти», при помощи которых собирается статистика об использовании ОЗУ определенными типами объектов. Такие снимки можно сохранять и сравнивать между собой, чтобы отслеживать изменения в потреблении памяти.

Усовершенствованы возможности отладки асинхронного кода, для чего существенно переработано поведение отдельных окон отладчика с целью упрощения отслеживания соответствующих процессов. Это особенно актуально при создании приложений для Modern-интерфейса Windows 8. .NET

Традиционно с выходом очередного релиза VS обновлялась также и платформа .NET, причем чаще менялся именно старший номер версии (тот, что до точки). В этот же раз случилось удивительное — .NET Framework 4.5, выпущенная в августе прошлого года вместе с VS 2012, доросла лишь до 4.5.1. На первый взгляд может показаться, что это свидетельствует об отсутствии сколь-нибудь важных нововведений, тем не менее, это не так.

В первую очередь следует отметить, что некоторые новые функции отладчика, в частности, возможность править в процессе отладки 64-битовый код и просматривать возвращаемые методом значения, стали возможны именно за счет поддержки со стороны .NET Framework. Много работы проделано в отношении повышения стабильности, увеличения производительности и исправления скрытых недочетов платформы. В частности, усовершенствованный JIT-компилятор позволяет ускорить первый запуск приложений на 15%, а для ASP.NET-приложений реализован механизм перевода в режим ожидания, в котором они не потребляют ресурсы, но готовы стартовать на 90% быстрее, чем при обычном запуске. Подсистема работы с данными ADO.NET и основанная на ней Entity Framework получили переработанный механизм обработки разрывов соединений, позволяющий продолжить нормальную работу после их восстановления без повторной инициализации.

Сборщик мусора получил возможность дефрагментировать пространство памяти, выделяемое объектам. Без этой функциональности интенсивно использующие ОЗУ приложения могли получать отказ в выделении памяти, даже если ее в системе было достаточно, но нужного непрерывного участка не находилось по причине фрагментации.

Разработчики Modern-приложений для Windows 8 сталкивались с проблемами несовместимости некоторых типов .NET Framework и Windows RT, в частности, это относилось к потокам данных — передавать их напрямую было нельзя. Теперь ряд подобных проблем устранены и можно, например, скачать изображение посредством .NET-класса HttpClient и полученный поток сразу же передать для отображения в элемент управления WinRT Xaml Image. Веб-технологии

Представлял VS 2013 Preview на конференции Build в конце июня этого года Скотт Хансельман (Scott Hanselman), архитектор подразделения Azure and Web Tools, который особое внимание уделил нововведениям в части поддержки веб-технологий. Маловероятно, что такой выбор докладчика был случаен — учитывая подготовку мероприятий подобного уровня, логичнее предположить как раз обратное. Отказавшись от развития Silverlight, Microsoft сделала ставку на стандартные веб-технологии, где конкуренция особенно высока. При этом серверные решения компании вынуждены конкурировать в том числе и с бесплатным стеком технологий LAMP и обосновывать их довольно высокую цену совсем непросто. Поэтому особая роль здесь отводится средствам разработки во главе с VS, основная задача которых заключается в повышении продуктивности разработки и сопровождения и, таким образом, снижении конечной стоимости решения.

Следует обратить внимание, что в настоящий момент под общим зонтиком ASP.NET скрывается целых три достаточно обособленных набора технологий, нацеленных на различные группы разработчиков:

ASP.NET Web Forms — «традиционная» технология для создания веб-решения от Microsoft, которая эволюционно развивается с момента первого релиза в 2002 г. Предполагает использование специального языка разметки поверх HTML, при помощи которого в страницу внедряются серверные элементы управления, а управляющий код пишется на одном из .NET-языков либо в специальной секции HTML-файла, либо, что более распространено, в отдельном, но связанном со страницей файле;

ASP.NET MVC — технология, представленная в 2009 г. и позволяющая создавать веб-решения, используя современную концепцию «Модель-Представление-Контроллер». Здесь Модель — это модель данных страницы, Представление — HTML-файл страницы с включениями на лаконичном языке разметки Razor, а Контроллер — серверный код, отвечающий за логику работы страницы. Данная технология альтернативна предыдущей, хотя с технической точки зрения их возможности равны, отличия же состоят в принципах реализации проекта;

ASP.NET WebAPI — самая молодая из перечисленных технологий, появившаяся в 2012 г. Она не призвана заменить более ранние, а ориентирована на определенную нишу — создание веб-сервисов в стиле REST, хотя и не ограничивается ею. Может быть использована для построения решений, ориентированных на различные потребляющие контент устройства, среди которых могут быть как браузеры, так и специализированные приложения.

Фундамент всех перечисленных технологий составляет ASP.NET, и нововведения в нем отражаются, соответственно, и в надстройках. Первое, что заметят веб-разработчики — изменение окна выбора типа проекта. Если раньше оно было перегружено различными вариантами, то теперь веб-разработчики получат форму, в которой отображаются только проекты ASP.NET и задаются специфичные только для них настройки.

Visual Studio 2013: в фокусе продуктивность

Начальный этап создания проекта ASP.NET вынесен в отдельное окно, в котором можно указать его тип и параметры

Следующее нововведение непосредственно в ASP.NET, на которое следует обратить внимание, это scaffolding — механизм, при помощи которого генерируется код, обеспечивающий работу с данными. Первоначально он был реализован для ASP.NET MVC, но в VS 2013 был усовершенствован и стал доступен для всех остальных ASP.NET-проектов. Scaffolding позволяет генерировать код веб-страниц для каждой сущности Entity Framework, которой соответствуют таблицы в базе данных. Эти автоматически сгенерированные страницы содержат код, необходимый для чтения и изменения данных (так называемый набор операций CRUD: create, read, update, delete). Scaffold-генератор, по большому счету, не предназначен для того, чтобы создавать готовый для использования код — его основная задача состоит в том, чтобы облегчить реализацию стандартных процедур. Тем не менее, для разработчиков существует возможность гибкой настройки работы этого механизма при помощи языка обработки шаблонов T4, что позволяет свести рутинные операции к минимуму, а в отдельных случаях — и вовсе отказаться от доработки сгенерированного кода.

Среди веб-разработчиков особой популярностью пользуется Twitter Bootstrap, позволяющий выполнить быстрое прототипирование интерфейса проекта, а в отдельных случаях и ограничиться этим, не привлекая к участию в проекте дизайнера. Ранее подключать Bootstrap к проектам на ASP.NET приходилось вручную, но в VS 2013 появилась возможность выбрать шаблон проекта, в котором это будет сделано автоматически.

Отладка и тестирование веб-решений отличается трудоемкостью хотя бы потому, что разработчику, как правило, необходимо гарантировать корректность их функционирования в разных браузерах и подчас на разных платформах. В VS 2013 появился новый механизм, призванный существенно упростить эту задачу: функциональность под названием Browser Link позволяет запустить проект одновременно в различных браузерах, включая эмуляторы мобильных устройств и облачные сервисы, а также обновлять содержимое страниц одной командой после внесения изменений в проект.

Усовершенствованы возможности публикации проекта на Azure Web Services и серверах IIS. В первом случае среда развертывания становится доступной в окне Server Explorer, где существует возможность создавать или настраивать сайты, просматривать в реальном времени журналы и выполнять другие служебные операции. Во втором — появилась возможность публиковать на сервер отдельные файлы, что может быть полезно при внесении незначительных правок или изменении свойств конфигурации проекта. Поддержка Windows 8.1

Разумеется, нельзя обойти вниманием и поддержку возможностей новой ОС от Microsoft, поскольку именно VS 2013 позиционируется как основной инструмент для разработки для нее. Фактически все нововведения в ОС, предоставленные в качестве API для разработчиков, теперь доступны для использования в новой IDE. В первую очередь, поддержка включает обновление элементов управления и шаблонов проектов для приложений, ориентированных на Windows 8.1. Но нововведения этим не ограничиваются, в частности, изменения коснулись усовершенствованной поддержки магазина Windows Store, а также возможностей редактора интерфейса Blend. Появились новые инструменты для профилирования скорости работы пользовательского интерфейса и потребления энергии — налицо усилия со стороны Microsoft, имеющие целью обеспечить разработчиков всем необходимым для миграции на новую концепцию приложений в так называемом «современном» стиле. Заключение

Несмотря на сократившийся цикл разработки, команду VS нельзя упрекнуть в недостатке изменений в новой версии — напротив, их, скорее, больше, чем можно было бы ожидать. Похвально, что многие из улучшений стали прямым ответом на просьбы пользователей: на сайте uservoice.com существует раздел, посвященный данной IDE (visualstudio.uservoice.com), и многие из новшеств VS 2013 реализуют запросы, получившие здесь большое число голосов. В новой версии явно прослеживается сфокусированность команды на повышении продуктивности труда разработчика, возможности создавать качественные решения в минимально возможные для этого сроки. Несмотря на то, что в VS 2013 заметно некоторое подражание ReSharper, следует отметить, что команда разработчиков IDE не злоупотребляла прямым заимствованием чужих идей, а переосмысливала их — отдельные функции, на наш взгляд, реализованы заметно лучше, чем у JetBrains. Хочется надеяться, что в рамках нового сокращенного цикла последующие релизы не заставят себя ждать и порадуют нас не менее нынешнего — инвестиции в продуктивность окупаются быстро.

+66
голосов

Напечатать Отправить другу

Читайте также

"но в данном случае Microsoft пришлось его цикл, и виной тому — релиз Windows 8.1"
Так задумано?
Поправьте или объясните что хотели сказать. Спасибо!

спасибо за бдительность :)
исправили.

Я просто ЧИТАЮ статьи. Вот и все ;)

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT