Брайан ХАРРИ
Какие из новшествVisual Studio 2010, на ваш взгляд, наиболее существенны?
В обширном списке новых возможностей я в первую очередь выделил бы отладчик IntelliTrace. Этот инструмент изменяет способы отслеживания ошибок при создании приложений и значительно упрощает процесс поиска и идентификации проблем в ПО, в том числе если ошибка случилась на чужом компьютере. Очень важен Architecture Layer Diagram - дизайнер уровня архитектур: он позволяет проектировать архитектуру создаваемого приложения с нуля так, как она должна выглядеть, чтобы отразить компоненты архитектуры приложения в окончательном решении. Впоследствии имеется возможность проверить, насколько получившееся решение соответствует первоначальной архитектуре, то есть получили ли мы то, что было задумано. Можно также установить специальные требования, чтобы в системе контроля перед внесением кода происходила проверка, действительно ли вносимые изменения соответствуют задуманной архитектуре. Помогает этому и gated check-in, контролируемое внесение информации: в случае когда вносимые изменения не отвечают запланированной архитектуре, они не будут включены в приложение. Следующая интересная новинка - автоматически всплывающая подсказка IntelliSence. Я сам чувствую, насколько увеличилась продуктивность моей работы в новой версии благодаря таким подсказкам.
Новое ПО становится все более ресурсоемким - что вы делаете, чтобы код выполнялся быстрее?
В первую очередь стремимся на низком уровне добиться оптимальной инфраструктуры, используя инструменты, которые оптимизируют код и повышают производительность. Примером может служить PowerPivot - новая возможность SQL Server R2, которая позволяет эффективно работать с большими объемами данных. Кроме того, работаем над инструментами, которые позволяют удостовериться, что приложения в вычислительных системах качественно масштабируются и используют распараллеливание вычислений. К примеру, технология PLINQ позволяет написать запрос к SQL Server, а система выполнит его в параллельном режиме. Серьезно обновилась и Windows Azure, наша «облачная» платформа, она теперь позволяет динамически добавлять вычислительные ресурсы по мере необходимости. В последнее время тактовая частота процессора не увеличивается, но с ростом числа ядер в нем все большее внимание уделяется распараллеливанию, и мы делаем все возможное, чтобы эти вычислительные ресурсы использовались эффективно.
Как реализована поддержка мультимедийных объектов в разрабатываемых приложениях?
С точки зрения поддержки мультимедиа серьезный прорыв сделан в области технологии Silverlight. Не уверен, что могу глубоко осветить данную тему, скажу только, что Microsoft Silverlight изначально «заточен» на предоставление разработчикам возможности создавать приложения с богатыми функциональными возможностями. Улучшения коснулись и Windows Media Server, что позволяет в динамике оптимизировать видеопотоки в соответствии с пропускной способностью канала пользователя.
Поддерживаются ли в Visual Studio 2010 технологии виртуализации, такие как Server Hyper-V, App-V, EMD?
Яркий пример - виртуальная лаборатория тестирования Microsoft Test and Lab Manager, позволяющая описать приложение таким образом, чтобы была возможность задать набор виртуальных машин, на которых оно должно выполняться. После чего приложение автоматически внедряется на эти виртуальные машины. В сетевых библиотеках есть возможность распространения по сети виртуальных машин так, чтобы не возникало конфликтов, а также возможность сделать снимок (Snapshot) всего набора виртуальных машин таким образом, чтобы получить представление об их текущем состоянии.
Как осуществляется управление проектом разработки приложения с помощью Team Foundation Server и будет ли в дальнейшем его интеграция с Project Server?
Работа над интеграцией с Project Server в полном разгаре, надеемся в ближайшие два месяца представить превью-версию. Сценарий, который мы сейчас прорабатываем, предоставит возможность менеджерам крупных организаций управлять проектами на достаточно высоком уровне, чтобы разработчики могли сами заниматься деталями проекта, которые не требуют внимания со стороны менеджера проекта. Использование стандартных процессов Microsoft Project позволяет менеджеру проекта в любой момент проконтролировать, что и как развивалось в ходе работ, и принять или отклонить то или иное изменение.
В корпорации Microsoft всегда используют все свои новинки, как используется Team Foundation Server в разработках Microsoft?
На сегодняшний день более 17 тысяч пользователей Team Foundation Server находятся в Microsoft - это практически половина всех разработчиков Microsoft, и постепенно все большое число команд переходят на его использование.
Каково дальнейшее развитие Team Foundation Server?
На мой взгляд, наш дальнейший курс - тесная интеграция всех средств, позволяющих участникам разработки ПО быть единой командой. Главный фокус сделан на более тесной интеграции тестеров в процесс разработки. Но в этот процесс вовлечены также менеджеры проекта и непосредственно разработчики. А следующими шагами станут интеграция других групп специалистов, участвующих в разработке, например бизнес-аналитиков, которым необходимо представить инструменты для бизнес-анализа разработки, а также расширение возможностей для бизнес-менеджеров. Затем сосредоточимся в направлении интеграции так называемых операционных команд, «занятых» внедрением проекта.
Какими вы видите новые потребности разработчиков в ближайшие год или два?
Сейчас, безусловно, новым направлением в разработке ПО является распределенное управление версиями. Этот подход позволяет разработчикам работать независимо друг от друга и по желанию интегрироваться с другими участниками команды. Другое направление касается развития гибкой технологии разработки ПО. Мы продолжаем наблюдать, как технология Java распространяется среди команд разработчиков, в том числе и в такой форме, как SCRAM. Конечно же, развиваются и такие способы создания программного обеспечения, как разработка при помощи тестирования, разработка на основании компонент (feature development). Расширяется и управление требованиями, которые применяются для выполнения правильного тестирования приложений. Возьмем так называемые «выполняемые требования» (executable requirements) - для такого подхода существует аутсорсинг-реализация (opensource), которая называется cucumber. Все более серьезным трендом становятся облачные вычисления - особенно в том, как различные облака интегрируются друг с другом. И, конечно же, продолжится курс на развитие приложений с широкими функциональными возможностями и реализацию новых способов интерактивности при их взаимодействии с пользователями.
Какие из названных вами возможностей уже присутствуют в Visual Studio 2010?
Прежде всего Silverlight и ее инструменты, а дополнительно - инструменты Expression, которые позволяют разрабатывать приложения с богатыми функциональными возможностями. Есть инструменты с поддержкой технологии Azure для облачных вычислений, а также инструменты Windows 7, предлагающие интегрировать устройства на мобильной платформе в облако. Много инструментов появилось для параллельного программирования, например PLINQ на системном уровне было сделано так, чтобы приложение автоматически распараллеливалось. Конечно же, по всем этим направлениям предстоит еще очень многое сделать.
Как долго мы будем работать с Visual Studio 2010?
(Смеется.) Я знаю пользователей, которые еще работают с выпущенной 15 лет назад средой программирования Visual Basic 6. Так что, думаю, Visual Studio 2010 послужит людям достаточно долгое время. Скорее всего, следующая версия продукта появится в течение ближайших двух лет: мы стараемся выйти на двухгодичный цикл разработки, но иногда этот срок получается меньше, иногда чуть больше.
Опубликовано 16.06.2010