СРЕДСТВА РАЗРАБОТКИ

Выпуск в конце июня Visual Studio.NET (VS.NET) бета 2 фактически подвел черту под дискуссиями о новом варианте пакета средств разработки Microsoft. Напомним, что особенно жарко обсуждались изменения Visual Basic - впервые за десятилетнюю историю VB нарушается совместимость программного кода “снизу-вверх” (см. PC Week/RE,N 18/2001, с. 36). Появление второй бета-версии показало, что Microsoft не собирается идти на сколь-нибудь радикальные уступки в ответ на критику недовольных оппонентов по поводу проблем с переносом VB-приложений.

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

Контуры состава VS.NET в туманной дымке

В первую очередь отметим, что VB, VC++ и C# существуют только в объединенном варианте. Microsoft объясняет это тем, что они имеют очень большое число общих компонентов. Как будет выглядеть окончательный вариант поставки, неизвестно, но вполне вероятно, что отдельных программ VB и VC++ больше не будет.

Не очень понятна и ситуация с поддержкой работы VS.NET в среде Windows 9x и Windows ME. В описании второй бета-версии говорится, что она тестировалась в среде Windows NT 4.0, Windows 2000 и Windows XP. По поводу Windows 98 и ME обещано, что в них будет поддерживаться “выполнение кода” (code execution). При этом непонятно, о чем идет речь, - о среде VS.NET или лишь о поддержке создаваемых в ней приложений.

Для разработчиков приложений масштаба предприятий издание VS.NET Enterprise Edition будет поставляться в двух вариантах - Developer и Architect, для программистов и архитекторов систем соответственно. Чем конкретно будут различаться эти продукты, пока не ясно. По поводу версии Architect говорится лишь, что она будет нацелена на решение трех задач - моделирование приложений, моделирование баз данных и управление средой разработки.

В издании Enterprise будет использован механизм Open Tools Platform, обеспечивающий интеграцию в среду программирования VS.NET решения сторонних разработчиков. Для привлечения третьих фирм - поставщиков инструментальных средств - Microsoft объявила программу Visual Studio.NET Integration Program. Одним из первых ее участников стала компания Rational Software, уже объявившая о поддержке данной платформы и интеграции своего средства Rational Suite с Microsoft VS.NET.

В середине июля стало известно, что компании Microsoft и Crystal Decisions подписали соглашение о включении генератора отчетов Crystal Reports в состав VS.NET. Отметим, что данная программа уже много лет является одним из лидеров на рынке подобных систем, а сотрудничество двух разработчиков имеет свою историю. Впервые Crystal Reports появился в VB 3.0 в 1993 г., а затем в 1995 г. - в VB 4.0. Однако в версиях VB 5.0 и 6.0 Microsoft использовала вместо него собственные упрощенные компоненты для создания отчетов. Теперь пришло время вернуться к проверенному временем полноценному инструменту.

Но следует иметь в виду, что обычно Crystal Decisions лицензирует для использования в пакетах третьих фирм лишь усеченный вариант текущей версии своего генератора отчетов. Так что пользователи VS.NET получат в составе инструментария Microsoft лишь специальный вариант Crystal Reports for VS.NET, а не полноценную версию Crystal Reports 8.5.

Изменения синтаксиса в VB.NET бета 2

Отметим, что с самого начала дискуссий о VB.NET никто не отрицал вероятность того, что Microsoft может пойти на некоторые уступки своим критикам. Тем не менее, зная стиль работы корпорации, можно было с уверенностью утверждать, что уступки будут минимальными и, возможно, временными.

Версия бета 2 показала, что каких-либо серьезных “откатов” со стороны Microsoft не следует ждать. Вот список некоторых новшеств, реализованных в последнем варианте VB.NET.

1. Описание массивов, типа Dim a(10), будет работать так же, как и предыдущие 40 лет существования языка Basic. То есть в данном примере 10 - это верхняя граница индекса массива, а не число его элементов, как это было в бета 1.

2. Операции And, Or, Not и XOR, как и ранее, будут использоваться и для логических, и для поразрядных операций. В первой бета-версии VB.NET эти действия выполнялись только с логическими переменными, а для целочисленных вводились дополнительные функции вида BitXXX (BitAnd и т. д.), ныне исключенные.

3. Выполнение логических операций будет оптимизироваться с помощью специальных операторов AndAlso и OrElse, например, следующим образом:

If x > 0 AndAlso x < 10 Then ... (второе условие не будет проверяться, если x <= 0)

If x > 0 OrElse x <-10 Then (второе условие не будет проверяться, если x > 0)

4. Логическая переменная True по-прежнему будет иметь целочисленное значение -1, а не 1, как планировалось.

5. Для сравнения двух объектных переменных (чтобы проверить ссылки на один и то же объект) по-прежнему будет использоваться ключевое слово Is (VB 6), а не простой знак равенства = (VB.NET бета 1).

6. Теперь все классы наследуют метод ToString объекта System (родитель всех объектов в .NET), который преобразует числовое значение в текстовый вид. Однако следует иметь в виду, что разделитель целой и дробной части числа (точка или запятая) будет зависеть от национальных установок Windows.

7. Для совместимости с функциями VB 6.0 используется пространство имен Microsoft.VisualBasic.Compatibility.VB6. Чтобы избежать таких длинных названий при работе со старыми функциями, можно применять специальный оператор Import.

8. Ранее для обозначения коллекций объектов VB использовалось множественное число имени объекта (“Parameters”, “Properties” и т. д.) Ныне же коллекции будут называть длиннее, но более понятно: “ParameterCollection”, “PropertyCollertion”.

9. В бета 1 библиотека ADO.NET имела два важных пространства имен: System.Data.ADO для общих провайдеров данных и System.Data.Sql для провайдера SQL Server. Теперь эти пространства называются соответственно System.Data. OleDb и System.Data.SqlClient.

Это не полный перечень всех изменений в синтаксисе VB.NET, и можно предположить, что не окончательный. Изменения в синтаксисе коснулись и С# бета 2 - с ними можно познакомиться в статье “Top 10 Changes C# Beta 2”, опубликованной по адресу www.devx.com/devxpress.

Что еще нового во второй бета-версии?

Стартовая страница VS.NET теперь содержит новую вкладку Web Hosting, с помощью которой можно получить список поставщиков услуг ASP .NET Web, предоставляющих бесплатное Web-пространство для распространения законченных компонентов и приложений. А на вкладке “Что нового?” в дополнение к VS.NET имеется ссылка на огромный список утилит и компонентов независимых разработчиков.

В мае Microsoft выпустила бета-версию нового набора для разработчиков мобильных Web-приложений на базе технологии ASP.NET - Microsoft .NET Mobile Web SDK Beta 1. Конструктор Mobile Web Forms Designer для создания мобильных Web-форм также включен в состав VS.NET бета 2.

Дополнительную информацию о Visual Studio.NET можно найти по адресу http://msdn.microsoft.com/vstudio/nextgen/.