Заметки из лаборатории
Development Solution for C++ (DSC++) 3.22 фирмы XVT Software (Булдер, шт. Колорадо) представляет собой впечатляющий инструмент для программистов, которым нужна гибкость на низком уровне при разработке 16- и 32-разрядных приложений для Windows, Macintosh и Unix и которых не заботит величина инвестиций, требующихся для использования многочисленных возможностей DSC++. Однако недавно выпущенный пакет ценой $2325 не является самым отлаженным или самым быстрым средством разработки из тех, которое мы видели, даже среди многоплатформных библиотек.
Рабочий стол среды XVT-Architect с пиктограммами дает общий вид создаваемого приложения, а графические средства облегчают разработку интерфейса
DSC++ 3.22 предоставляет разработчикам строгую структуру классов Си++ в новой и по-прежнему кое в чем не отшлифованной визуальной среде, называемой XVT-Architect. Структура классов вполне законченна, но не особенно дружелюбна для разработчиков, которым просто нужен базовый графический интерфейс.
Но зато те, кто выбрал для себя DSC++, получат больше, чем просто легкую переносимость привлекательного (если не сказать захватывающего) графического пользовательского интерфейса. Хорошо продуманная технология ядра версии 3.22 распространяет данные по модели, на которую опирается заказное приложение, создавая многофункциональные и в меру художественные программы.
Однако Тестовый центр PC Week Labs не испытал от XVT хотя бы приблизительно того же удовольствия, которое мы получили от Suite 2.0 системы zApp Developer фирмы Rogue Wave Software.
Так, для того чтобы получить пригодный для тестирования набросок программы при помощи среды Factory пакета zApp, нужно было изменить только общий тип и внешний вид приложения. Кроме того, мы легко могли испытывать постепенно вводимые изменения в контекст приложения. Благодаря инструментальным средствам zApp, которые при обновлении автоматически генерируемого кода защищали вносимые нами поправки, мы могли работать с унифицированным исходным текстом.
XVT-Architect легко позволял нам работать с любым фрагментом создаваемой программы, запрятанным сколь угодно глубоко, но мы ощущали меньшую связь с приложением в целом по сравнению с zApp или другими более интерактивными средствами, такими, как Clarion for Windows корпорации TopSpeed. Среде XVT недостает интерактивного режима тестирования, поэтому нам нужно было перекомпилировать и запустить наше приложение, чтобы оценить каждое сделанное изменение.
Для тех, кто привык к разработке путем многих итераций, отсутствие режима интерактивного тестирования будет, по-видимому, главным недостатком.
Графическая среда XVT-Architect зачастую вела себя довольно непонятно. Например, мы не смогли переименовать пиктограмму, просто щелкнув мышью на ее подписи. Нам сначала нужно было снять выделение с пиктограммы, а потом выделить ее подпись. В противном случае среда считала, что мы просто пытаемся переместить пиктограмму в другое место.
В отличие от большинства графических средств XVT-Architect отображала вновь созданные объекты невыделенными. Поэтому, чтобы уничтожить случайно созданный объект, мы были вынуждены менять наш инструмент обратно на инструмент выбора и затем выделять этот объект. Это нарушало плавный творческий процесс.
Среда XVT-Architect, которая сама является приложением XVT, не продемонстрировала ожидаемую поддержку соглашений различных платформ. Например, версия XVT-Architect для OS/2 не имела поддержки стандартной функции всплывания локальных меню по нажатию правой кнопки мыши. К сожалению, кроме параграфа об условной компиляции в разделе об OS/2 руководство по XVT не предоставило никакой информации на этот счет.
Пользователи, вводящие неподходящие или неправильно форматированные данные, являются, вероятно, наиболее распространенным источником так называемых ошибок компьютера. Возможности проверки правильности данных в XTV, основанные на объектных классах стандартных выражений из включенной фирмой Rogue Wave библиотеки, оказались гибкими и многообразными и должны, вероятно, приводить к лучшим результатам.
Библиотека Tools.h++ фирмы Rogue Wave также предоставила большое разнообразие “готовых к использованию” классов структур данных по образцу классов Smalltalk-80.
Однако на более высоком уровне разработчиков начинает привлекать единообразная абстракция многопоточных служб, особенно теперь, когда им предлагаются Win32, OS/2 и Unix. И хотя использование в среде XVT нескольких потоков единообразно, но оно не абстрактно.
В документации как для OS/2, так и для Win32 содержится предупреждение для разработчиков о том, что библиотека XVT не защищена от ошибок при работе в многопоточном режиме и что все обращения к XVT должны происходить в одном потоке. В ней также рекомендуется делать эти обращения к XVT в главном потоке. Это ограничивает гибкость многопоточности и возможность улучшения отзывчивости через фоновую многозадачность.
Телефон фирмы XVT Software:
(800) 678-7988; сетевой адрес: info@xvt.com.
Питер Коффи