Visual Basic 5.0
Visual C++ 5.0
Visual J++ 1.1
Visual FoxPro 5.0
Visual SourceSafe 5.0
Visual InterDev
Документация

Если взглянуть на перемены, которые произошли в отрасли разработки за последнее время, то становятся очевидными некоторые качественные изменения, а именно что разрабатываемые программы прошли следующие этапы: отдельные самостоятельные приложения - многофункциональные приложения - распределенные многокомпонентные системы. Последняя фаза развития стала во многом возможна с появлением Internet и intranet. Стало выгодно хранить отдельные компоненты разработанной системы на разных хост-машинах и серверах, не дублируя их и организовывая интерфейс через серверы Web к остальным частям системы.

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

Microsoft Visual Studio 97 существует в двух основных вариантах поставки: Professional и Enterprise. Более простая, Professional, включает в себя Visual Basic 5.0, Visual C++ 5.0, Visual J++ 1.1, Visual InterDev, Visual FoxPro 5.0 и библиотеку разработчика MSDN. В версию Enterprise добавлены Visual SourceSafe 5.0, SQL Server 6.5 и Transaction Server. Мы познакомим вас именно с этой версией. Поскольку каждый из этих составляющих продуктов "тянет" на отдельную статью, мы ограничимся кратким обзором новых возможностей, полагая, что вы уже знакомы с предыдущими их версиями.

Visual Basic 5.0

Рискну сказать, что почти каждый из отечественных разработчиков хотя бы раз пользовался этим замечательным компилятором. И вряд ли кто станет возражать, что, программируя на Visual Basic, вы действительно экономите время. В версии 5.0, о которой мы сейчас говорим, улучшена среда разработчика и преодолен главный недостаток этой системы программирования - генерация байт-кода (хотя в свете Java это вроде бы уже и положительное качество). Так что теперь на выходе генерируется (все-таки дождались!) машинный код, что позволяет добиться скорости выполнения в 20 раз выше, чем в предыдущих версиях Visual Basic.

Значительные изменения претерпел сам язык программирования. Появились типизированные аргументы процедур со значениями по умолчанию, как в языке Cи++. К отладочному объекту Debug добавлен метод Assert, который останавливает выполнение приложения, если заданное в Assert условие не выполняется. Стало возможным задавать некоторое свойство класса как свойство по умолчанию, декларировать свои собственные события, доступные для других программ, и многое другое.

Палитра компонентов Visual Basic 5.0 была расширена следующими элементами:

Animation Control - проигрыватель AVI-роликов;

MSChart Control - новый элемент для рисования диаграмм с улучшенной графикой;

MSFlexGrid Control - аналог элемента Grid в Visual Basic 4.0 с возможностями индивидуального форматирования ячеек, сортировкой, группировкой ячеек и другими расширенными возможностями;

Internet Transfer Control - компонент для передачи и получения данных по протоколам HTTP и FTP;

UpDown Control - компонент, отображающий две кнопки со стрелками вверх и вниз, используемый для уменьшения или увеличения некоторых значений;

WinSock Control - компонент для задания соединений и обмена данными с использованием протоколов User Datagram Protocol (UDP) и Transport Control Protocol (TCP);

И раз уж мы коснулись компонентов, отметим выдающиеся возможности Visual Basic 5.0 в области создания ActiveX. Помимо возможности создания элементов ActiveX из уже имеющихся, Visual Basic умеет генерировать многопоточные масштабируемые компоненты ActiveX для распределенных приложений и предлагает много мастеров для создания разнообразных элементов ActiveX для любых нужд.

Помимо чисто технологических достижений Visual Basic 5.0 улучшен и с точки зрения удобства использования. Во многом это достигается применением средства под названием Microsoft IntelliSence, включающего в себя всплывающие подсказки с информацией о состоянии переменных и объектов DataTips, списки методов и свойств объектов, автоматически возникающие в процессе написания исходного текста программ, и различные мелкие удобства типа специального поля для точек останова.

Вместе с Visual Basic поставляются несколько полезных утилит для слежения за OLE-автоматизацией и создания дистрибутивных дисков, генератор отчетов Crystal Reports, а также электронные книги.

Visual C++ 5.0

Несмотря на появление разнообразных RAD-систем и простых языков программирования, компиляторы Cи и Cи++ продолжают оставаться в авангарде средств разработки. Они необходимы везде, где требуется быстрота выполнения программ и недюжинная гибкость. Всем этим требованиям отвечает новая пятая версия знаменитого компилятора Visual C++. Помимо чисто декоративных изменений, коснувшихся среды разработки Developer Studio, ставшей еще более практичной и удобной, Visual C++ значительно изменился внутренне.

Язык пополнился новыми ключевыми словами explicit, mutable, typename вкупе с парой новых слов true и false, составляющих возможные варианты для переменных и констант нового типа bool, а сам компилятор теперь имеет встроенную поддержку упрощенного создания объектов COM.

Не обошлось без улучшений мастера создания каркасов приложений AppWizard. Самое значительное изменение в нем - появление мастера генерации объектов COM на базе библиотеки Active Template Library (ATL). Этот мастер создает пустой COM-объект одного из трех типов: внутрипроцессный dll-сервер, внепроцессный exe-сервер и драйвер-сервис для Windows NT. Это, так сказать, пакет без пирожка. Сам пирожок должен добавить разработчик. И он может сделать это, пользуясь мастером создания классов. Вызываете контекстное меню для вашего проекта и даете мастеру указание создать новый объект ATL. А уж он на выбор предлагает вам создать и простые объекты, и объекты расширения (add-in), и объекты для Internet Explorer, и сервер ActiveX, и объекты для Microsoft Transaction Server, и еще несколько вариантов объектов и элементов.

В принципе вы можете набить ваш проект объектами под самую завязку, не сильно напрягаясь при этом.

Важное изменение произошло и в уже существующем средстве для создания собственных мастеров (Custom AppWizards). Оно заключается в том, что у программиста появилась возможность настраивать установки компилятора, редактора связей и браузера, и делать дополнительные шаги, после сборки проекта.

Скорее Земля налетит на небесную ось, чем Microsoft оставит в покое свою библиотеку классов Microsoft Foundation Classes (MFC). Кстати, теперь она уже называется MFC&T, что значит "MFC and Templates". Можно было предположить заранее, что основные изменения в MFC будут связаны именно с политикой Microsoft по оккупации рынка Internet. Так оно и вышло. Во-первых, к MFC были добавлены несколько классов для создания высокоскоростных фильтров и расширений ISAPI: CHttpServer, CHttpFilter, CHttpServerContext, CHttpFilterContext и CHtmlStream. С помощью этих классов можно расширять функциональность не только Microsoft Infornation Server, но и любого сервера, поддерживающего интерфейс ISAPI. Во-вторых, в MFC были внедрены более десятка весьма полезных классов для работы непосредственно с протоколами HTTP, FTP и Gopher под общим названием WinInet. И в-третьих, парочка новых классов поддержки элементов ActiveX обеспечит вашему Internet-приложению асинхронную фоновую загрузку данных.

Среди прочих расширений и изменений MFC&T появилась возможность манипуляции базами данных, поддерживаемыми средствами DAO 3.5 и ODBC 3.0. А вот на букву T в названии библиотеки стоит обратить особое внимание, потому что она означает модернизацию MFC за счет введения шаблонов. Ну, библиотеку стандартных шаблонов STL мы в расчет не берем из-за того, что она была уже в Visual C++ версий 4.x. А вот новая Active Template Library версии 2.1 - это просто здорово. По разумению автора, ATL - действительно серьезный шаг навстречу тем, кому приходится возиться с интерфейсами и объектами COM, особенно разработчикам ActiveX. За недолгое - меньше года - время существования ATL заслужила репутацию универсального средства, на базе которого можно создать любой COM-объект, сервер и автоматизацию. Одно только "но": логика работы библиотеки такова, что ее применение эффективно в том случае, когда она используется в составе автоматических генераторов исходного текста. Иначе даже и не стоит возиться. Тем не менее многие фирмы видят в ATL серьезное подспорье для себя. По неофициальным данным, в будущие RAD-продукты Borland будет введена поддержка компиляции программ на базе ATL.

Абсолютной новинкой окажется для большинства покупателей технология OLE DB. Это набор интерфейсов OLE, дающих программе универсальный доступ к различным источникам данных. Во многом это напоминает ODBC. Можно даже прогнозировать, что в скором времени OLE DB если не вытеснит ODBC, то может стать составной частью этого интерфейса. В Visual C++ 5.0 OLE DB поставляется в виде OLE DB Software Development Kit (SDK), который состоит из программных компонентов, инструментов и документации, позволяющих разрабатывать Windows- приложения, использующие OLE DB для публикации и чтения разнообразных данных.

В комлекте поставки Microsoft Visual C++ 5.0 Enterprise Edition имеются еще три полезных инструмента:

  • специальная версия широко известного сервера баз данных Microsoft SQL Server 6.5;
  • Microsoft Transaction Server;
  • Visual Database Tools.
  • Вряд ли стоит заострять внимание на SQL Server - слишком уж этот продукт на слуху у наших разработчиков. А вот о двух других стоит кратко рассказать.

    Microsoft Transaction Server - это система обработки транзакций для создания, разворачивания и обслуживания скоростных масштабируемых приложений для предприятий, Internet и intranet. Transaction Server определяет программную модель для разработки компонентных распределенных приложений и среду для их работы. Помимо чисто программных частей в состав системы входит универсальное средство администрирования приложениями, созданными на базе Transaction Server. Разработчикам баз данных придутся по вкусу средства Visual Database Tools. С их помощью можно создавать приложения, управляемые данными, не выходя из среды разработчика и непосредственно подключившись к базе данных. Visual Database Tools позволяет:

  • подключаться к любым базам данных, отвечающим спецификации ODBC, и исследовать их;
  • создавать и модифицировать базы данных для Microsoft SQL Server 6.5, используя диаграммы создаваемых баз;
  • создавать, сохранять и запускать сложные запросы;
  • производить любые операции над данными, хранящимися в базах;
  • разрабатывать таблицы, триггеры и хранимые процедуры для Microsoft SQL Server и Oracle.
  • Подавляющая часть всех перечисленных возможностей интегрирована в среду разработки, образуя единый интерфейс. Так, если вам нужно отладить хранимую процедуру SQL, можно воспользоваться тем же самым отладчиком, который используется для отладки исходного текста на языке Cи++, при этом возможна отладка в удаленном режиме через сеть. Еще два поразительных инструмента, Database Designer и Query Designer, которые также встроены в единую среду разработчика Developer Studio, сделают так, что вы забудете про большую часть ручной работы. Разработка объектов баз данных в них действительно проста и напоминает RAD-продукты для программистов, функционирующие по принципу "перетащи и брось".

    Это и еще многое другое становится доступно разработчику после установки Microsoft Visual C++ 5.0 на компьютер.

    Visual J++ 1.1

    Visual J++ 1.1 остался почти таким же, как и предыдущая версия. Наружные изменения наиболее заметны: продукт интегрирован в единую среду разработчика Developer Studio нового поколения. Это приятно, но не самое главное. Главное изменение таится среди мастеров. В версии 1.0 Visual J++ имелось два мастера. Один позволял создать простейший проект на языке Java, второй - аплет или консольное приложение. Теперь к этому набору добавился мастер баз данных для Java.

    По умолчанию генерируется проект, открывающий источник данных, и демонстрирующий его содержимое. В качестве источника данных могут выступать любые таблицы баз данных, предоставляющие информацию с помощью интерфейсов DAO и RDO. Данные практически любого формата могут быть показаны приложением, изготовленным мастером баз данных для Java.

    Visual FoxPro 5.0

    Несомненно, FoxPro для наших разработчиков баз данных - нечто вроде идола. Скольким из них этот продукт помог заработать! Поэтому многие продолжают работать с FoxPro и по сей день. Правда, с покупкой этого пакета фирмой Microsoft направление его развития пошло по другим рельсам. Теперь FoxPro - продукт, исповедующий технологию Windows и все, связанное с этим: OLE, ActiveX, DAO, RDO и т. п.

    Начать, пожалуй, следует с того, что в новой версии FoxPro 5.0 значительно улучшено управление проектами и базами данных. Вы можете использовать для контроля проектов такую систему слежения за исходным текстом, как Microsoft Visual SourceSafe. А менеджер проектов позволит вам видеть проект как иерархию объектов, что уже знакомо пользователям таких СУБД, как Access.

    Отладка проектов в FoxPro изменилась в лучшую сторону. У пользователя появился выбор: отображать инструменты отладчика либо непосредственно в главном окне среды разработки пакета FoxPro, либо в отдельном окне, которое не пересекается с другими окнами среды. Внешне отладчик FoxPro чем-то стал похож на отладчик из Visual C++.

    Здесь все, что знакомо любому программисту, использующему различные системы разработки: окна кода, стека вызовов, локальных переменных и прочее. Активно используются возможности drag-and-drop. Так, если вам требуется установить просмотр за изменением значения переменной, ее имя выделяется и перетаскивается в окно просмотра. Окно Output поможет разработчику увидеть информацию, исходящую из отлаживаемой программы.

    Используя дизайнеры запросов (Query) и видов (View) Visual Fox Pro, вы сможете создать внешние объединения (outer joins) и определить псевдонимы (aliases). К тому же, используя дизайнер видов, можно задавать одинаковые расширенные свойства полям таблиц и полям видов. К примеру, можно определить по умолчанию класс управляющего элемента, маску ввода или формат.

    Еще один дизайнер - дизайнер форм (Form Designer) - был расширен так, чтобы можно было создавать для приложений как однооконный (SDI), так и многооконный (MDI) интерфейсы. Дизайнер быстрого вызова меню (Shortcut Menu Designer) упрощает утилизацию нового события RightClick управляющих элементов, помогая создавать меню быстрого вызова. На стыке этих двух дизайнеров к формам и управляющим элементам добавлены еще несколько свойств и методов, задающих вид и поведение элементов формы.

    Пакет Visual FoxPro стал сервером OLE, предоставляющим свои функции другим приложениям и публикующим интерфейс ISimpleFrame, но это еще ничего. Гораздо занятнее, что с его помощью вы можете создавать свои собственные серверы OLE. Полученные таким способом серверы могут быть установлены и применены как на локальных компьютерах, так и на удаленных.

    При всех усовершенствованиях, которые произведены в FoxPro, удивительно, почему эта система, как и другие продукты, не была интегрирована в оболочку Developer Studio.

    Если вам хочется узнать о Visual FoxPro больше, прочтите статью Дмитрия Артемова "Visual FoxPro 5.0: новые возможности" ("Мир ПК", # 2/97, с. 68).

    Visual SourceSafe 5.0

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

    Ключевым объектом в SourceSafe является проект. Внутри этих проектов могут находиться подпроекты, образуя сложную иерархию, которая показывается в главном окне SourceSafe Explorer.

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

    Версия 5.0 Visual SourceSafe имеет более высокую степень интеграции с такими продуктами Microsoft, как Visual Basic, Visual C++, Access, Visual FoxPro. В ней также были добавлены возможности по администрированию Web-данными, включая генерацию карты Web-узла, а также сделан более легкий перенос данных на Web-сервер.

    Отдельные компоненты визуальной среды были доработаны. Изменения в основном коснулись окна объединения изменений, окна различий проектов и позволяют сейчас открывать любой файл для редактирования по двойному щелчку мыши.

    В Visual SourceSafe 5.0 решена проблема переполнения дисков разрастающейся базой изменения. Любые ненужные данные из нее могут быть упакованы. В нужный момент их легко восстановить.

    Завершая разговор о SourceSafe, отметим, что этот продукт имеется в вариантах для Macintosh и Unix.

    Visual InterDev

    Наиболее экзотический программный продукт, входящий в Visual Studio, - Visual InterDev. Он как зеркало отражает видение Internet и intranet корпорацией Microsoft. Visual InterDev предлагает решения по широчайшему спектру задач при создании и поддержании Web-узлов и интрасетей. Это обеспечивается большим набором инструментов, утилит и расширений, среди которых разработчика Developer Studio IDE, активные серверные страницы (ASP), интерфейсы к базам данных, HTML-редактор FrontPage 97, Personal Web Server для Windows 95 и многое другое.

    Проект в InterDev начинается с выбора подходящего мастера. Если вы хотите расширить имеющийся Web-узел, объединив его с базой данных или добавив в него новые страницы, сценарии и активные серверные страницы, то можно воспользоваться мастерами создания новых файлов. Если же работа начинается "с нуля", то обратитесь к мастеру создания нового узла Web. Единственное условие, которое при этом необходимо выполнить, - установите маленький (несколько мегабайт) персональный Web-сервер для Windows 95 и к нему добавьте расширения для редактора FrontPage 97. Это нужно для того, чтобы сервер мог связаться с мастером в момент создания узла и можно было наглядно видеть его структуру со всеми связями и гипертекстовыми ссылками в окне Link View.

    Впоследствии это может очень пригодиться при поиске оборванных ссылок и просмотре общей схемы узла.

    В качестве редактора для страниц HTML выбран Microsoft FrontPage, обычно поставляемый как самостоятельный продукт. Этот "умелый" редактор может выделять цветом синтаксические элементы, благодаря чему вы сразу же можете видеть правильность набора элементов. В этом же редакторе можно быстро вставить в редактируемую страницу элемент ActiveX, задав его свойства.

    Наибольшим успехом у Web-мастеров, скорее всего, будут пользоваться средства создания активных Web-страниц. Такие страницы содержат код на языке сценариев, который выполняется на самом сервере Web, в отличие от традиционных сценариев, выполняемых на машине клиента. Активные серверные страницы выглядят более динамично, с их помощью можно решать задачи, которые невозможно решить на локальных компьютерах. Типичный пример - сбор информации о браузере и компьютере присоединившегося к серверу клиента и принятие решения о том, какие страницы должны быть ему переданы и с какими параметрами. Ранее этим занимались программы CGI (живые и по сей день), но активные серверные страницы делают это намного проще.

    Visual InterDev предлагает поддержку построения Internet-приложений, имеющих доступ к базам данных. При создании таких приложений можно воспользоваться или визуальными дизайнерами баз данных, о которых уже было упомянуто в разделе, посвященном Visual C++, или активными объектами данных (Active Data Objects), которые помогут наладить связь между приложением и сервером, содержащим данные.

    В Visual InterDev можно обнаружить парочку интересных утилит. Правда, они не встроены в InterDev и запускаются самостоятельно.

    Image Composer

    Microsoft Image Composer - это удивительно простой в использовании графический редактор, насыщенный разнообразными инструментами. Его назначение состоит в создании графических композиций для размещения их на страницах Web-узлов, хотя Image Composer можно использовать и в других областях графики. Помимо своего собственного графического формата MIC, он поддерживает форматы GIF, JPEG, TIFF, Targa, BMP и Adobe PSD. Встроенный интерфейс к сканерам TWAIN позволяет импортировать изображения для редактирования.

    Image Composer базируется на спрайтовой модели объектов. Спрайт - это графический объект, который можно перемещать в рамках композиции, и который всегда остается самостоятельным изображением. Любое изображение, перенесенное в Image Composer, становится спрайтом.

    Для упрощения интерфейса пользователя каждая из восьми функций, имеющихся в Image Composer, вызывает палитру со своими, присущими только ей инструментами. В распоряжении пользователя имеются следующие палитры:

    Arrange - для изменения ориентации объектов и рисунка, обрезки, изменения порядка и выравнивания объектов;

    Paint - для рисования, создания эффектов, изменения кистей и световых параметров;

    Text, через которую наносятся и редактируются надписи;

    Shapes-Geometry для изменения формы и искажения объектов;

    Patterns and Fills, предлагающая предопределенные заливки и шаблоны заполнения;

    Warps and Filters - палитра изгиба пространства и графических фильтров;

    Art Effects, снабжающая дизайнеров стандартным набором различных эффектов;

    Color Tuning-Color Shifting - средство управления цветами объектов.

    Переключение с палитры на палитру происходит при выборе соответствующей кнопки в панели инструментов, располагающейся по умолчанию вдоль левого края окна.

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

    Music Producer

    К сожалению, многим Web-мастерам медведь наступил на ухо. А делать музыкальное оформление и презентации для узла все же придется (в том случае, если оно предусмотрено). Остается одно - использовать Microsoft Music Producer. Это простейший музыкальный редактор с игрушечным интерфейсом. Музыка в нем создается на основе заготовок стилей, ансамблей и интонации. К примеру, задаем стиль China, монотонную интонацию и ансамбль типа Otherworld. В результате получаем этакий спокойный китайский маршик, под аккомпонемент которого неплохо рекламировать туристические путевки в юго-восточную Азию с экрана компьютера. Дальше - больше. Поиграем с темпом, с тональностью, а готовый результат сохраним на диске.

    Интерфейс Music Producer предельно прост и, скорее всего не потребует чтения файлов подсказки.

    Документация

    В Microsoft Visual Studio 97 нет бумажной документации, есть только электронная. Зато в коробке можно найти книжку "Getting Results", в которой приведены примеры выполнения наиболее распространенных задач с применением различных программ, входящих в состав Visual Studio. Этот опыт позаимствован из пакета Microsoft Office и вполне оправдал себя.

    * * *

    В заключение автор выражает признательность Вольфгангу Брему (Wolfgang Brehm), менеджеру по продуктам для разработчиков Восточноевропейского отделения Microsoft за предоставленное для статьи ПО.


    Microsoft Visual Studio 97
    Требования к компьютеру: 486DX2-66, Windows 95 или Windows NT 4.0, 16 Мбайт оперативной памяти, CD-ROM, требуемый объем на жестком диске зависит от типа установки.
    Разработчик: Microsoft Corp.,
    тел. в Москве: (095) 967-85-85
    http://www.microsoft.com/rus/