`

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

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

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

Best CIO

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

Человек года

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

Продукт года

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

 

Visual Studio 2008: много платформ – одна среда

Статья опубликована в №49 (617) от 25 декабря

+22
голоса

Visual Studio – основной инструмент большинства программистов, использующих платформы от Microsoft, и для них каждый релиз этого продукта – событие, безусловно, знаковое. Однако редмондская корпорация не только расширяет функциональность интегрированной среды, но и формирует экосистему партнеров и разработчиков, которые строят свой бизнес, полагаясь на возможности ее платформ. Поэтому появление новой версии Visual Studio в не меньшей мере сказывается и на пользователях, и на IT-специалистах, хотя непосредственно с ней они не сталкиваются.

Visual Studio 2008 много платформ – одна среда
Главное окно VS 2008 практически полностью повторяет прежнюю версию

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

Естественно, что в такой ситуации особую значимость приобретает так называемая экосистема, т. е. сообщество крупных партнеров и мелких разработчиков, создающих конкретные специализированные решения. Именно они, а не конечные пользователи в большинстве случаев делают выбор той или иной платформы, руководствуясь различными факторами, среди которых сложно переоценить поддержку со стороны ее поставщика, своевременный выпуск адекватного инструментария. По этой причине на флагманский продукт Microsoft для разработчиков – Visual Studio (VS) – возложена очень важная роль связующего звена между разработчиками и платформами корпорации, от качества и соответствия реальным запросам клиентов которого зависит успех и многих других продуктов и инициатив.

Выпуск Visual Studio 2005 два года назад для Microsoft был особенно важен. К тому времени значительные ресурсы были инвестированы в платформу .NET Framework, однако она так и не получила широкого распространения. Потенциальные клиенты не видели для себя веских преимуществ, способных оправдать риск от преждевременной миграции на нее. К тому же для крупных проектов особое значение имеет поддержка ALM-методологий и инструментария, а Microsoft до 2005 г. в этой области выглядела гораздо бледнее своих главных конкурентов – IBM и Borland.

Именно VS 2005 должна была переломить ситуацию и стать главным катализатором успеха .NET Framework. Вместе с ней дебютировали .NET 2.0, коренным образом переработанная платформа для создания веб-решений ASP.NET 2.0, а также был представлен Team Foundation Server наряду со специальной редакцией Visual Studio Team System. Немаловажным оказался и выпуск бесплатных Express-редакций, которые за два года загружались 17 млн раз.

Впрочем, успех VS 2005 сегодня очевиден во всех областях. Скажем, количество разработчиков, применяющих Team System, оценивается как 25–30% числа пользователей профессиональной редакции. Значительно возросло число проектов, основанных на .NET Framework, а некоторые крупнейшие хостинговые компании перевели свои серверы на Windows и ASP.NET.

А в ноябре нынешнего года Microsoft завершила работы над Visual Studio 2008, перед которой ставятся не менее амбициозные цели. Теперь курс взят на популяризацию Windows Vista и Office System 2007, и в определенных аспектах они оказались столь инновационными, что многими были встречены в штыки – снова потребовалась «помощь клуба» (т. е. той самой экосистемы). В частности поэтому разработка VS 2008 сопровождалась беспрецедентных масштабов тестированием, а вторая бета фактически была достаточно стабильна даже для использования в коммерческих целях (что позволяла соответствующая GoLive-лицензия).

Поставка и редакции продукта

Как обычно, существует несколько редакций VS 2008, ориентированных на различные категории разработчиков: бесплатные Express – на начинающих; Standard – на «умеренных» программистов для Windows и Веба, не нуждающихся в развитых инструментах; Professional – на тех, кому нужен полный арсенал средств для создания приложений любых типов – от настольных до мобильных и серверных, а также для Microsoft Office System. Наиболее комплексная поставка, предназначенная для использования профессиональными коллективами, – Visual Studio 2008 Team System – включает серверный компонент Team Foundation Server и клиентские версии IDE на основе профессиональной редакции, которые могут настраиваться на конкретные роли участников проекта.

Среди изменений в поставке следует отметить отказ от J# (клон Java) – начиная с VS 2008 данный язык больше не поддерживается. Похоже, тем немногочисленным программистам, которые его использовали, следует определиться с выбором: либо C#, либо «настоящий» Java и соответствующий инструментарий от Sun или сторонних поставщиков. Также не стало отдельного пакета Visual Studio Tools for the Microsoft Office System (VSTO), поскольку теперь все его возможности встроены в редакцию Professional.

Очень важным нововведением VS 2008 является открытие исходного кода .NET Framework (начиная с текущей версии 3.5). В частности, доступными станут практически все основные классы .NET Base Class Libraries (пространство имен System.*), а также ASP.NET, Windows Forms, ADO.NET, XML, WPF, WCF, LINQ, Workflow и другие библиотеки – по лицензии Microsoft Reference License (Ms-RL), дающей право только просматривать исходный код, но не вносить в него изменения. Тем не менее данный шаг можно лишь приветствовать – разработчики смогут вникнуть в особенности функционирования платформы, а также отлаживать свои проекты, выполняя трассировку вглубь методов стандартных классов.

Одновременно с выходом VS 2008 было объявлено и о начале публичного тестирования PopFly Explorer – специального расширения для IDE, позволяющего создавать проекты и пользоваться услугами хостинга службы PopFly. Загрузить этот компонент, совместимый как с VS 2008, так и с предыдущей версией, можно с сайта popfly.ms.

К сожалению, в комплект поставки VS 2008 входит только Express-редакция SQL Server 2005-й версии, разработка 2008-й все еще не завершена.

Также с выходом новой IDE выпущен Visual Studio 2008 Training Kit – набор презентаций, демонстрационных проектов и лабораторных для изучения новых возможностей VS 2008 и .NET 3.5.

Отметим, что в новой версии Visual Studio была модифицирована лицензия. В частности, в ней сняты любые ограничения на платформы, для которых можно вести разработку, – речь, конечно, не идет об официальной поддержке Mono, но в перспективе вполне вероятен и такой поворот.

В дальнейшем мы рассмотрим возможности наиболее полной редакции продукта – Team System.

Интерфейс и возможности IDE

Интерфейс новой IDE остался практически без изменений – сохранились как графическое оформление, так и набор и расположение элементов управления. Поскольку претензий к VS 2005 по данному пункту не имелось, то подобный консерватизм следует воспринимать положительно – разработчикам не придется переучиваться и привыкать к новой среде. Пожалуй, единственное отличие (не считая, разумеется, номера версии на стартовой странице) – несколько иной состав пунктов главного меню: в VS 2008 добавились Test и Analyze, а Community исчез. Что касается последнего, то команды из него попросту перекочевали в раздел Help, а вот два новичка заслуживают особого внимания, так как привносят в функциональность IDE весьма важные дополнения, ориентированные на повышение качества разрабатываемых решений.

Раздел главного меню Test содержит команды для создания и управления разнообразными тестами: модульными и нагрузочными, БД и веб-приложений, выполняемыми вручную. Имеется возможность преобразования существующих тестов в соответствующие проекты Visual Studio. Отдельный тип – упорядоченные (Ordered) тесты – позволяет составить список из других тестов, которые будут выполняться в заданной последовательности. При этом вызывается мастер, позволяющий сгенерировать шаблон, учитывающий специфику решения.

При этом тесты могут выполняться как на локальном, так и на удаленном компьютере, допускается объединять их в разные наборы, исполняемые независимо друг от друга, запрашивать данные для тестирования и сохранять результаты в БД. Во время модульных тестов автоматически определяется степень охвата исходного кода (Code Coverage), что позволяет выявить непроверенные участки.

Другой новый пункт меню – Analyze – предоставляет доступ к профайлеру, посредством которого можно исследовать производительность и обнаруживать узкие места в программе, а также к статическому анализатору, исследующему код на соответствие определенным правилам и вычисляющему его метрики (Code Metrics). Оба инструмента не относятся к нововведениям VS 2008, но если первый мигрировал из предыдущей версии без существенных изменений (ранее он был прописан в меню Tools), то второй все же расширен более чем двумя десятками правил. А вот расчет метрик исходного кода появился именно в VS 2008.

Справедливости ради отметим, что Microsoft не первая обеспечила расчет метрик в инструментальном пакете – аналогичные возможности присутствовали в Borland Developer Studio 2006 более двух лет назад. К тому же инструментарий Borland (ныне CodeGear) гораздо богаче, поскольку подсчитывает значительно большее число показателей. Тем не менее в VS 2008 рассчитываются все самые критичные оценки проекта – индекс сопровождаемости (Maintainability Index), цикломатическая сложность (Cyclomatic Complexity), глубина наследования (Depth of Inheritance), степень сцепления классов (Class Coupling) и число строк кода (Lines Of Code). Кроме того, на их основе можно реализовать политику загрузки исходного кода в систему контроля версий, например запретить загрузку, когда метрики выходят за определенные границы.

Следующее важное нововведение VS 2008, в отличие от рассмотренных пунктов меню, припрятанное в окне задания свойств проекта, заключается в возможности использовать одну и ту же IDE для разработки под различные версии .NET Framework (эта функциональность получила название multi-targeting) – тогда как все выпущенные ранее версии Visual Studio были жестко привязаны к одному конкретному релизу .NET. Безусловно, это затрудняло переход на очередные версии платформы (поскольку требовалось обновлять и IDE). Теперь все гораздо проще – VS 2008 может применяться для разработки под любую из трех поддерживаемых .NET (2.0, 3.0 и 3.5), достаточно лишь указать нужную в окне свойств проекта. Таким образом, можно использовать все преимущества новой Visual Studio, отложив миграцию самого проекта на более поздний срок. Аналогично отпадает необходимость в сохранении старых версий IDE, даже если требуется работать с проектами для прежних версий .NET. Кстати, формат проектов остался неизменным – VS 2008 может открывать и применять без преобразования .SLN-файлы, созданные в VS 2005 (для более ранних версий необходима конвертация).

Расширилось число типов проектов, которые можно создавать с помощью Visual Studio, в частности, теперь стандартно доступны все типы проектов .NET 3.0 (WPF, WCF, Workflow), включена возможность разработки проектов с применением ASP.NET AJAX, а также для Microsoft Office System на основе .NET Framework – в предыдущей версии Visual Studio для этого необходимо было устанавливать соответствующие SDK либо приобретать отдельный продукт (VSTO). Кстати, в VS 2008 включена уже третья версия VSTO, которая обладает большим числом нововведений по сравнению со второй, к примеру, расширены возможности визуальных редакторов, предоставляется прямой доступ к внутренней структуре документов на основе XML, есть возможность создания расширений (add-ins) для всех приложений офисного пакета. В качестве целевой платформы поддерживаются Microsoft Office 2003 и 2007.

Имеется также значительное число мелких, но, тем не менее, важных нововведений. Так, при создании страниц ASP.NET доступен новый режим – Split View, позволяющий одновременно просматривать на экране исходный код .ASPX-файла и графическое представление. Сам визуальный редактор веб-страниц существенно усовершенствован, по своим возможностям он похож на Microsoft Expression Web (движок рендеринга которого, по утверждению самой Microsoft, в наибольшей степени соответствует современным стандартам). Разработчикам, активно использующим JavaScript, придется по душе усовершенствованный отладчик – теперь он работает с клиентским JavaScript так же, как и с серверным, а контрольные точки можно устанавливать внутри автоматически сгенерированного run-time-кода, после чего они автоматически попадут в design-time-код и наоборот. При переключении между открытыми документами по Ctrl-Tab в новой IDE отображаются миниатюры открытых документов.

Отметим также, что сторонние разработчики могут создавать собственные специализированные среды (так называемые Software Factories) – на базе Visual Studio Shell, представляющей собой усеченный вариант VS 2008, который включает редактор и отладчик. Эту инициативу Microsoft можно рассматривать как попытку составить конкуренцию проектам, подобным Eclipse.

.NET 3.5 и C# 3.0

Visual Studio 2008 много платформ – одна среда
В новой IDE выбор типов проектов заметно расширен, также можно задавать версию целевой платформы .NET Framework

Новая версия платформы .NET Framework 3.5 содержит большое число усовершенствований, однако реализована она на основе общеязыковой среды исполнения (Common Language Runtime, CLR) второй версии, как и .NET 3.0 – таким образом обеспечивается преемственность, фактически оба последних релиза последовательно расширяют базовую .NET Framework 2.0, привнося дополнительную функциональность, но не изменяя существующую (не считая исправления ошибок). Этот подход значительно облегчает миграцию на очередные версии .NET – в ряде случаев достаточно просто повысить версию целевой платформы в свойствах проекта и выполнить его сборку, не внося в него никаких корректив.

Большинство изменений в .NET 3.5 направлены на расширение пространств имен третьей версии платформы (часть из них, например ASP.NET AJAX, была доступна отдельно). Наиболее заметным новшеством, пожалуй, является поддержка LINQ (Language Integrated Query) – декларативного языка доступа к данным, во многом схожего с SQL, посредством которого можно обращаться к данным в программах, написанных с применением императивных языков (таких как C# или Visual Basic) в декларативном стиле. Реализован LINQ на уровне среды исполнения CLR и доступен любому .NET-языку, претерпевшему соответствующие модификации. Это относится к Visual Basic и C#, причем последний «дорос» до третьей версии стандарта, предложенного для утверждения международным организациям по стандартизации ECMA и ISO.

Хотя большинство изменений C# 3.0 являются следствием реализации поддержки LINQ, некоторые нововведения направлены на расширение возможностей, совершенствование синтаксиса, а также повышение удобства его использования и будут полезны разработчикам независимо от того, планируют ли они осваивать LINQ в ближайшее время.

В частности, добиться большей лаконичности языка удалось за счет неявного задания типа локальной переменной в момент ее инициализации – компилятор автоматически определит его на основе типа данных. На первый взгляд, такой подход схож с использованием нетипизированных переменных в Visual Basic, однако C# остается строго типизированным языком, и подобное изменение синтаксиса всего лишь влияет на способ объявления переменных, но не на дальнейшее обращение с ними. Кроме того, поддерживаются инициализация объектов и коллекций, автоматическая реализация свойств (т. е. достаточно указать лишь их имена, а компилятор самостоятельно реализует всю логику хранения значений), расширяющие методы (которые можно добавлять к существующим классам без модификации исходного кода).

Ряд усовершенствований напрямую заимствован из функциональных языков, например лямбда-выражения – конструкции, содержащие анонимные функции и совместимые по присваиванию с делегатами. Безусловно, C# по-прежнему остался императивным, однако теперь в нем можно программировать в функциональном стиле.

Новые возможности коллективной разработки

Visual Studio 2008 много платформ – одна среда
Дизайнер веб-страниц оснащен новым движком рендеринга и поддерживает режим Split View

Вместе с Visual Studio 2008 Team System стартует вторая версия серверного компонента, обеспечивающего ALM-функции, – Team Foundation Server (TFS). За два года своего существования на рынке этот продукт быстро завоевал популярность и для многих стал основным инструментом для организации системы контроля версий, автоматизации сборок и тестов, коллективной работы. При создании новой версии учитывались пожелания клиентов и результаты интенсивного внутреннего тестирования в «полевых условиях».

TFS 2008 поддерживает SharePoint 2007, а в качестве платформы и СУБД может использовать как Windows Server 2003 и SQL Server 2005, так и находящиеся на завершающих стадиях разработки Windows Server 2008 и SQL Server 2008.

Число нововведений в TFS 2008 достаточно велико, поэтому ограничимся только кратким перечислением по отдельным направлениям.

Visual Studio 2008 много платформ – одна среда
Нынешняя версия Visual Studio может вычислять метрики исходного кода

Система контроля версий теперь заметно быстрее, упростилась автономная работа пользователей, более гибкими стали настройки рабочей среды, появились поддержка сравнения папок, функция полного уничтожения артефактов на сервере, а также возможность получения последних модификаций файлов при осуществлении процедуры выгрузки (check-out), подобно тому как это происходит в Visual Source Safe.

Значительно проще стала инсталляция, тогда как в предыдущей версии она доставляла немало хлопот администраторам, при миграции с TFS 2005 будет сохранена вся рабочая информация, более гибко можно размещать и настраивать службы хранения данных и построения отчетов.

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

Что дальше?

Visual Studio 2008 много платформ – одна среда
Addon Studio for World of Warcraft – один из первых проектов, основанных на Visual Studio Shell

Microsoft активно развивает свои платформы, соответственно, не должны от них отставать и инструментальные средства. Невзирая на то что в рамках журнальной статьи практически невозможно охватить столь масштабный продукт, даже беглого знакомства с перечнем новшеств достаточно, чтобы понять: Visual Studio 2008 является несомненным лидером среди инструментальных пакетов для платформ редмондской корпорации, в том числе и будущих, вроде Windows Server 2008 и SQL Server 2008.

Несмотря на то что крупные релизы Visual Studio выходят не слишком часто (в среднем раз в два года), команда разработчиков продолжает совершенствовать свой продукт, выпуская всевозможные исправления и дополнения на протяжении всего его жизненного цикла и поспевая, таким образом, за совершенствованием платформ. По этому пути развивалась VS 2005 – многое из того, что стандартно вошло в VS 2008, было доступно для нее в виде дополнений (например, ASP.NET AJAX или поддержка .NET 3.0). Нет сомнений, что эту удачную практику продолжит и нынешний релиз. Среди вероятных ближайших обновлений – расширение числа .NET-языков, к примеру, ориентированного на функциональное программирование F#; очередная версия Silverlight, поддерживающая подмножество платформы .NET; дальнейшее развитие ASP.NET, в частности новая архитектурная модель на основе MVC; дополнительные инструменты для Windows 2008 и SQL Server 2008, а также Express-редакция последнего в качестве базового компонента.

Тем не менее еще до выхода VS 2008 было объявлено о том, что уже вовсю ведутся работы над следующей Visual Studio, которая получила кодовое имя Rosario и в настоящее время доступна в виде CTP-релиза. Она сфокусируется как на совершенствовании процесса коллективной разработки (в частности, новый TFS создается с прицелом на самое активное взаимодействие с Microsoft Project Server), так и на обеспечении качества продукции индивидуального разработчика. Среди интересных обещаний: PLINQ (Parallel LINQ) – развитие LINQ для параллельной обработки запросов к данным, а вместе с ним и более общий инструмент – Parallel Extensions for .NET, призванный упростить распараллеливание типичных задач (впрочем, не исключено, что он выйдет в качестве дополнения еще к VS 2008); встроенная поддержка основанного на XML компилятора MSI-пакетов WIX (Windows Installer XML) – первого Оpen Source проекта Microsoft. Конечно, в Rosario будет и много других новых возможностей, но это тема отдельного разговора.

Сайт автора: koldovsky.com

+22
голоса

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

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

Читал эту статью в КО - очень хороший материал и стиль подачи тоже очень приятный.

 
 
IDC
Реклама

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