ОБЗОРЫ

На рабочих станциях Mac и Windows комплект Metrowerks ведет себя одинаково - со всеми своими причудами

Проблема выбора, с которой сталкиваются покупатели инструментария для разработки приложений, напоминает философские рассуждения Шалтая-Болтая из сказки “Алиса в Зазеркалье” Льюиса Кэрролла. Он говорил: “Вопрос в том, кто главнее, - в нем все”.

Так кто же главнее - платформа (c приложением, играющим не более чем роль окна к ее сервисам) или приложение (с операционной системой, выступающей в качестве простого набора универсальных утилит, которые должна предлагать любая платформа)? Именно то, как производитель понимает распределение ролей между платформой и приложением, и определяет нацеленность его инструментария. Кто-то основное внимание уделяет платформе (примером чему может служить многоязыковый комплект Visual Studio .Net корпорации Microsoft), а кто-то отдает предпочтение приложениям (в эту группу входят вариации CodeWarrior, предлагаемые фирмой Metrowerks для программирования на Си, C++ и Java).

Ниже речь пойдет об очередном обновлении CodeWarrior - его версии 8, увидевшей свет этой весной в вариантах для Windows и Mac OS. Каждый из них стоит $599, а комплект из обоих вместе обойдется в $799. Мы провели экспертизу объединенного комплекта, установив его на рабочих станциях под управлением Windows 2000 и Mac OS X.

В новую версию своего продукта Metrowerks ввела несколько усовершенствований, которые, вероятно, сохранят привлекательность CodeWarrior для пользователей. Однако мы не нашли высокоуровневых инструментов ни для упрощения доступа к корпоративным базам данных, ни для разработки или применения Web-сервисов. Отметим, что подобные функции уже стали яркой отличительной чертой в продуктах конкурентов Metrowerks, включая корпорацию Oracle.

Java-разработчикам CodeWarrior поможет быстро и просто генерировать “скелеты” аплетов, приложений и компонентов JavaBean, причем воспользоваться этой помощью можно будет и в среде Windows, и на рабочих станциях Macintosh. Хорошо известный пункт меню File/New теперь выводит на экран список стандартных проектов Java, Mac OS или Win32. Единственное, чем Mac-инструментарий отличается от варианта для Windows, - в него входит тип проектов Mac OS X Cocoa, чисто “макинтошевская” объектная инфраструктура на базе NextStep, которая едва ли может представить какой-то интерес для разработчиков Windows-приложений. Никаких проблем с генерацией проектов в средах Windows 2000 и Mac OS X и последующим исполнением созданных приложений мы не испытывали.

Компании Metrowerks вместе с ее новинкой предстоит нелегкая борьба за умы и сердца тех, кто хотел бы найти альтернативу царству Windows. Особенно острой она станет, когда корпорация Borland Software добавит в свой Linux-комплект разработки приложений поддержку языка С++. Впрочем, на другой чаше весов окажется постоянно растущий интерес к операционной системе Mac OS X фирмы Apple Computer, поскольку она не только создана на базе надежной платформы Unix и поддерживается аппаратными средствами Apple, но и представляет собой высокопроизводительную среду Java. Все это может сделать межплатформные возможности CodeWarrior весьма привлекательными для тех разработчиков, которые раньше даже не задумывались о них.

В то же время, как нам кажется, многие пользователи этого инструментария создают не только многоплатформные приложения, но и низкоуровневые коды наподобие драйверов устройств или встроенного ПО. Для них рисование картинок на экранах ГИП и обработка массивов данных отступают на второй план: им нужно быстро писать программы, способные в точности выполнять задуманное. И то и другое предлагает редактор исходных текстов CodeWarrior 8, возможности завершения кода которого превосходят даже функцию IntelliSense в ПО корпорации Microsoft.

Перечень предполагаемых концовок выражений здесь, например, сокращается по мере ввода новых символов до тех пор, пока не останется один-единственный вариант, тогда как в редакторе Microsoft при этом просто перемещается подсвеченная строка выбора, а список занимает все столько же места. Кроме того, нам очень понравилось, что CodeWarrior позволяет самостоятельно выбирать, где и когда на экране должен появляться динамический список доступных вариантов.

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

Правда, наблюдая появившиеся в CodeWarrior визуальные “нити”, связывающие компоненты пользовательского интерфейса Java, мы будто унеслись в машине времени лет на шесть назад. Как в некоторых уже забытых средах программирования на Smalltalk или в VisualAge for Java корпорации IBM, все связи внутри ГИП отображаются на экране простыми стрелками. Для конструирования взаимодействий между объектами и генерации необходимых для этого кодов используется довольно неуклюжий односторонний мастер - подобно тому, что был в первой версии Cafe/ корпорации Symantec 90-х годов прошедшего века. Проверка “нитей” мало что дала нам, хотя начинающим программистам они могут пригодиться в качестве интерактивного средства обучения.

Средства визуального взаимодействия CodeWarrior не являются динамическими и двунаправленными, как те, что предлагает JBuilder корпорации Borland. Они не обеспечивают и “заказной” синхронизации, которая знакома пользователям Visual Studio корпорации Microsoft. Здесь поддержка односторонняя: исходный текст обновляется при малейших изменениях компоновки экрана редактора форм. Более того, синхронизацию исходного текста и визуального представления вполне способны нарушить даже несколько обычных манипуляций, в результате чего при проверке приложения на экране может оказаться любой из его вариантов.

Так чем же, спросите вы, мы станем пользоваться, когда нужно написать код на Си, С++ или Java и при этом быть уверенными в конечном результате? Мы выберем инструментарий, который ведет себя совершенно идентично на платформах Mac и Windows, сохраняя при этом внешнюю и внутреннюю среду управления проектом, и который не перестает нравиться нам уже долгие годы, - CodeWarrior. Мы всегда будем рады видеть его в своем тестовом центре.

С редактором по вопросам технологий Питером Коффи можно связаться по адресу: peter_coffee@ziffdavis.com.

Резюме для руководителей

CodeWarrior 8

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

ЦЕНОВОЙ АНАЛИЗ

По цене CodeWarrior 8 занимает среднее положение между JBuilder фирмы Borland, который работает только в среде Java, и многоязычным комплектом Visual Studio .Net корпорации Microsoft. Кроме того, Metrowerks предлагает очень неплохие условия обновления прежних версий и дешевые лицензии для образовательных учреждений. А если учесть еще и простоту освоения без дорогостоящего переобучения и связанных с ним долгих задержек, то приобретение CodeWarrior 8 можно считать весьма рентабельным.

( + ) Единый интерфейс разработчика на рабочих станциях Windows и Мас OS X; простой и понятный доступ к помощникам, качество которых в большинстве своем не только не уступает, но зачастую и превосходит качество конкурирующих продуктов.

( - ) Быстрая помощь при разработке приложений доступна только в среде Java; инструментарию не хватает устойчивости и стабильности взаимодействия, свойственных подобным продуктам Borland и Oracle.

Эталонные продукты для сравнения

- Visual Studio .Net корпорации Microsoft

- С++ Builder и JBuilder корпорации Borland

www.metrowerks.com