Microsoft Visual Studio: ближайшие перспективы

8 сентябрь, 2003 - 23:00Богдан Вакулюк
Итак, согласно указанному документу пополнение в семействе Visual Studio ожидается уже в самом ближайшем будущем -- срок выхода пакета Visual Studio Tools for the Microsoft Office System практически совпадает с датой выпуска новой линейки офисных приложений под общим названием Microsoft Office System (а она, как известно, будет доступна уже в сентябре). И это не случайность. Данному инструментальному средству отведена ниша, ранее традиционно принадлежавшая VB for Appli­cations (VBA): автоматизация документооборота, обмена почтовыми сообщениями, управления проектами и множество других задач, для которых обычно используются приложения, составляющие Microsoft Office.

Теперь в качестве основных языков, позволяющих расширять стандартный набор функций офисного комплекта Microsoft, будут доступны C# и VB.NET -- это означает полную поддержку всех классов .NET Framework и возможность использовать сотни сторонних модулей, совместимых со средой CLR. Кроме того, Visual Studio Tools обеспечит программный интерфейс к объектной модели документов и приложений, а также к их системе внутренних событий. Готовые скомпилированные компоненты сохраняются в файле любого из форматов в Microsoft Office или внешних библиотеках DLL, при этом рекомендуется держать их в каком-либо сетевом каталоге -- специальный механизм, встроенный в Office, автоматически подгрузит необходимый код во время работы пакета. Подобный подход позволяет решать вопросы обновления software, а также проблемы безопасности -- системный администратор может централизованно управлять доступом к тем или иным фрагментам пользовательского модуля.

Кроме собственно IDE и соответствующих компиляторов, в поставку Visual Studio Tools войдет набор дополнительных компонентов для Microsoft Access 2003 и SQL Server 2000 в версии для разработчиков.

Следующая ступень в лестнице развития Visual Studio -- обновление VS под кодовым названием Whidbey. Его выход будет приурочен к появлению на рынке значительно усовершенствованной версии SQL Server (кодовое название Yukon) предположительно в середине 2004 г. В качестве одного из главных ноу-хау сервера Yukon Microsoft указывает тесную интеграцию с программной средой .NET -- отныне CLR станет неотъемлемой частью SQL-сервера. И это совершенно справедливо -- ведь в данном случае хранимые процедуры могут быть созданы и скомпилированы с помощью стандартных средств Visual Studio (с последующим сохранением в БД), а полная совместимость системы типов серверов и инструментов для разработки клиентского ПО обеспечит небывалую гибкость программирования. Для реализации этого будут внесены необходимые изменения в набор классов .NET Framework, а также в общую концепцию доступа к базам данных из языков, входящих в VS .NET.

Еще одно направление, над которым активно трудятся в Редмонде, -- интеграция в Visual Studio средств высокоуровневого моделирования, подобных популярным пакетам компании Rational Rose. Такие инструменты позволят участвовать в проектах, основанных на использовании исключительно Visual Studio, не только кодерам, но и программным аналитикам (или архитекторам, как их часто называют в Microsoft), а также менеджерам, отслеживающим отдельные этапы разработки (для этого предусмотрена тесная интеграция с обновленной версией Visual SourceSafe), бета-тестерам и т. п. Теоретически набор возможностей Visual Studio должен в будущем охватывать все стадии полного жизненного цикла приложений -- начиная от общей концепции и заканчивая созданием готового инсталляционного пакета. Многое из уже созданного войдет в комплект поставки Whidbey версии Enterprise и Architect. Также не исключено использование продуктов сторонних разработчиков.

Конечно, будут изменения и в семантике языков, составляющих базовый набор .NET. О многих нововведениях в C# уже было сказано в статье, посвященной MS VS.NET 2003 (itc.ua/13727). Некоторые из них так и останутся достоянием лишь C#, другие же (например, конструкции типа generic или раздельное описание и реализация методов класса) обретут поддержку на уровне CLR, и их использование станет возможным для любых языков, совместимых с этой средой исполнения.

В декларации новшеств Visu­alBasic .NET особое внимание уделено повышению эффективности работы программиста -- для этого предусмотрены набор мощных многофункциональных классов, а также значительное усовершенствование системы интерактивных подсказок и средств автозаполнения шаблонных частей кода. Маркетологи Microsoft даже успели подсчитать, что с помощью этих инструментов количество рутинного труда сократится практически вдвое!

Также в Whidbey будет встроен новый интеллектуальный механизм грамматической проверки кода с возможностью автоматической коррекции. Более того, такой модуль должен генерировать "на лету" отчеты о потенциально проблемных фрагментах программы, которые могут привести к ошибкам во время исполнения, и даже просто давать советы по оптимизации кода отдельных процедур.

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

Ну и, кроме всего прочего, семантика VisualBasic .NET пополнится несколькими конструкциями, характерными для "профессиональных" языков, -- например перегрузкой операторов (для полной поддержки generics), беззнаковым целочисленным типом, системой самодокументации кода на основе XML (подобно C#) и т. п.

Развитие Visual C++ продолжается в сторону улучшения совместимости неуправляемого кода, генерируемого обычным компилятором, со средой исполнения CLR -- появятся новые конструкции, будет переработан способ взаимодействия с "классическими" библиотеками (например, MFC или C-Runtime) и обеспечена поддержка новых средств, таких, как generics, partial type и т. п.

Не остались без внимания и программисты, так и не примкнувшие к лагерю .NET. В обновленном компиляторе C++ декларируется поддержка технологии POGO (Profile Guided Optimizations), позволяющей совершать оптимизацию приложений с помощью сбора информации о "поведении" приложения во время его реальной работы. В данный момент уже доступна 64-битная версия компилятора, поддерживающего POGO, однако ко времени выхода Whidbey предполагается создать его 32-битную версию. Подразумевается, что такой подход должен обеспечить крайне экономичный и компактный код. Кроме этого, в Visual Studio Whidbey будет интегрирован компилятор C++ в процессорный код различных мобильных устройств. По сути, Whidbey заменит собой еще один отдельный продукт -- eMbedded Visual C++.

Говоря о развитии J#, Microsoft упоминает о том, что основные новшества данного языка связаны с желанием компании в будущем полностью отказаться от интеграции собственной виртуальной Java-машины в ОС семейства Windows. Серия классов под общим названием Browser Control позволит создателям Web-апплетов с минимальными усилиями портировать свой код для платформы .NET. Достигается это методом точного "проецирования" функций, ответственных за работу апплетов, на библиотеку классов .NET Framework.

Также маркетологи Microsoft уделяют особое внимание тому, что в Widbey J# впервые полностью соответствует спецификации CLR и имеет поддержку всех базовых типов, доступных в ней, даже перечисляемых и типов-значений. Кроме этого, в среду J# будут включены служебные операторы, помогающие в отладке и хорошо знакомые разработчикам на C++ или C#, например assert или volatile.

Что касается библиотеки классов .NET Framework, то здесь, как уже упоминалось выше, значительно расширится и переработается список средств взаимодействия с БД. Появятся мощные визуальные компоненты с логикой, настраиваемой с помощью большого количества свойств. Таким образом, по утверждению Microsoft, можно создавать приложения, оперирующие табличными данными, не написав при этом ни единой строчки кода. Это справедливо как для элементов Windows Forms, так и для ASP.NET.

Дополнительно Windows Forms пополнится следующими возможностями: компонентами Active Document Container (для визуализации документов Microsoft Office) и Web Browser с простым доступом из управляемого (managed) кода, панелью инструментов а-ля Microsoft Office, а также системой Layout Control, обеспечивающей сохранение размеров и взаимное расположение элементов GUI при изменении размеров основной формы. Кроме этого, некоторые элементы обзаведутся поддержкой многопоточности и асинхронного доступа.

И наконец, в самой отдаленной перспективе ожидается выход Visual Studio с кодовым названием Orcas (ориентировочно -- 2005 г.). Об этом пакете известно немного. Предполагается, что именно он станет основным средством разработки программ, в полной мере использующих все возможности будущей операционной системы с кодовым названием Longhorn. А их немало -- видоизмененная потоковая модель приложений, усовершенствованные интерфейс пользователя, сетевые средства и т. п. Впрочем, по утверждению Microsoft, приложения, созданные с помощью Whidbey, также будут успешно функционировать в Longhorn.

В заключение следует упомянуть, что одновременно с анонсом стратегии развития Visual Studio .NET компания Microsoft объявила об активизации деятельности по поддержке сторонних разработчиков -- партнерской программе VSIP (Visual Studio Integration Pro­gram). А это говорит о том, что набор инструментальных средств, доступных пользователям Visual Studio, "попутно" может быть значительно расширен. О VSIP, а также о самых интересных проектах по реализации MSIL-компиляторов других языков, существующих уже сегодня, мы планируем в ближайшем будущем отдельный, более подробный материал.