Выпуск первой публичной бета-версии будущего набора инструментов Visual Studio.NET вызвал большой интерес среди разработчиков приложений. Во многом это определяется тем, что предстоящий 2001 г. станет временем внимательного изучения архитектуры Microsoft .NET и ее важнейшей составляющей, которая получила название .NET Framework. Появление пакета VS.NET должно показать, как на практике реализуются идеи, ранее представленные только в виде концепций (см. PC Week/RE, № 39/2000, с. 40).
Детальное обсуждение новшеств VS.NET еще впереди, но уже сейчас можно констатировать, что разработчиков ждет много сюрпризов, причем не только приятных. О серьезности будущих изменений говорит хотя бы то, что для работы VS.NET Beta 1 требуется как минимум 128 Мб оперативной памяти и процессор Pentium II 450 МГц (рекомендуемая конфигурация - 256 Мб и Pentium III 733 МГц).
Однако я не стал бы сейчас спешить с выводами о будущих инновациях VS.NET и предложил бы относиться к первой бета-версии пакета как к весьма приблизительному прототипу того, что мы получим в окончательном варианте: что-то будет принято новое, а из уже объявленного что-то, напротив, может и не прижиться. Ведь бета-тестирование подобных продуктов - это не просто отладка и устранение ошибок, но и изучение рынка на предмет готовности восприятия предлагаемых инноваций. Тут стоит отметить, что публичная бета-версия появилась как никогда рано - по неофициальным высказываниям представителей Microsoft, выход окончательного варианта VS.NET ожидается не ранее конца 2001 г.
Если первые два выпуска объединенного пакета средств разработки - Visual Studio 97 (март 1997 г.) и 6.0 (сентябрь 1998 г.) - представляли собой набор автономных инструментов, то в нынешнем мы видим пример реальной интеграции разных систем программирования. Как и было объявлено, в составе VS.NET реализованы четыре языка программирования - Visual Basic, C++, C# и JStript, поддерживающие единую технологию .NET Framework и общую среду разработки. Из числа автономных продуктов предыдущих выпусков исчез InterDev: он включен в состав интегрированной среды разработки (на его базе реализуются, например, технологии ASP+ и Web Forms) и может использоваться при работе любого инструмента VS.NET.
А вот Visual J++ пропал, похоже, навсегда. Его ичезновение и появление C# свидетельствует о том, что дороги Microsoft и Java расходятся. В силу разных причин (во многом из-за сильной привязки к Windows) популярность VJ++ осталась на весьма низком уровне. К тому же в начале 2001 г. у Microsoft заканчивается лицензия на Java, и она вряд ли будет продлена.
По версии Microsoft появление C# (произносится как “си-шарп”, в буквальном переводе - “си-диез”, т. е. на полтона выше музыкальной ноты си) объясняется необходимостью интеграции языка Си с новыми Интернет-технологиями, что невозможно без нарушения ANSI-стандартов. Так или иначе, но очевидно, что, с одной стороны, C# создается в качестве прямого конкурента Java и впереди нас ожидает новый виток увлекательной конкуренции между Microsoft и Sun, а с другой - он позволяет использовать средства быстрой разработки для традиционных Си-программистов, которые не хотят иметь дело с VB.
VB наконец-то стал полноценным объектно-ориентированным языком. Безусловно, VB.NET серьезно прибавил в мощности средств, но работать с ним будет сложнее. Ведь объектно-ориентированные методы программирования предъявляют более серьезные требования к квалификации разработчика, перекладывая на него многие проблемы обеспечения работоспособности программы.
В этой ситуации вопрос о том, в какой степени сообщество VB-разработчиков готово к такому довольно радикальному расширению возможностей VB, представляется не столь простым. Тем более, что хотя этот язык широко используется профессиональными разработчиками, он до сих пор позиционировался как удобная технология для начинающих программистов. Возникает и такой вопрос: как новшества VB.NET будут отражены в VBA, большинство пользователей которого имеют минимальную программистскую подготовку?
И совсем неожиданным стал вывод о том, что реализованные в VB.NET концепции скорее всего приведут к нарушению традиционной поддержки совместимости “снизу вверх”: перенос приложений из VB 6.0 к VB.NET будет очень непростым. Тема “как подготовиться к переходу на VB.NET” уже сейчас живо обсуждается с среде разработчиков.
В состав VS.NET входит Visual FoxPro 7.0 в виде автономного продукта, не связанного с .NET Framework (весьма показательно цифровое обозначение его версии). Появление обновленного варианта СУБД, сохраняющей довольно высокую популярность, - примечательный факт на фоне длящихся уже почти пять лет разговоров по поводу ее будущего. (В 1996 г. Microsoft инициировала утечку информации о возможном прекращении развития FoxPro. Однако, встретив негативную реакцию пользователей, решила выпустить версию 5.0, но без твердых гарантий относительно 6.0. И вот теперь появилась 7.0.) Но все же дистанцирование VFP 7.0 от остальных инструментов .NET, по всей видимости, должно показать, что время жизни этого инструмента заканчивается.
В единую для всех инструментов пакета (кроме Visual FoxPro) интегрированную среду разработки введено немало новшеств, и многие из них окажутся действительно полезными.
Например, теперь при запуске программы будет появляться специальное окно Start Page, в котором разработчик сможет делать разнообразные установки по организации среды (расширенный вариант бывшего окна Options). Новое окно Server Explorer обеспечит доступ программиста к разнообразным серверным ресурсам. А специальное окно Task List позволит “протоколировать” ход выполнения проекта, фиксировать выявленные ошибки и способы их устранения, записывать идеи для будущей реализации.
Серьезной модификации подверглась панель инструментов Toolbox, которая теперь включает встроенные элементы управления для Web- и Windows-форм, элементы управления ActiveX, элементы HTML, объекты, а также компоненты буфера обмена. Интеллектуальная подсказка IntelliSence предусмотрена не только для компилируемых языков, но и для HTML и XML.
Наконец-то Microsoft решила усилить синтаксический контроль при вводе программного кода. Например, при вводе строки на VB.NET
MyString$ = Mid$(,1) сразу же будет выдаваться сообщение о неверном синтаксисе функции Mid$. Но лично меня это новшество немного огорчает: такой контроль был реализован еще почти 15 лет назад в QuickBasic, и непонятно, почему пришлось ждать его появления в VB только в седьмой версии. Нужно также отметить, что механизм навигации по компонентам проекта (на уровне процедур) в целом остался на том же уровне - и по-прежнему оставляет желать много лучшего.
В пакете есть набор новых или модернизированных конструкторов - Web Form, Windows Form, Component, XML. Обновлен и расширен состав средств Visual Database Tools. И еще одна любопытная новость: для автоматизации работы в среде и ее оптимальной настройки в Visaul Studio появился механизм создания макрокоманд на Visual Basic for Applications, хорошо знакомый пользователям MS Office.